diff arm/asm.S @ 8507:779a9c93bf61 libavcodec

ARM: work around linker bug with movw/movt relocations in shared libs
author mru
date Tue, 30 Dec 2008 03:13:52 +0000
parents 9281a8a9387a
children 7a463923ecd1
line wrap: on
line diff
--- a/arm/asm.S	Tue Dec 30 03:13:40 2008 +0000
+++ b/arm/asm.S	Tue Dec 30 03:13:52 2008 +0000
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "config.h"
+
         .macro require8, val=1
         .eabi_attribute 24, \val
         .endm
@@ -34,3 +36,12 @@
         .func   \name
 \name:
         .endm
+
+        .macro movrel rd, val
+#if defined(HAVE_ARMV6T2) && !defined(CONFIG_SHARED)
+        movw            \rd, #:lower16:\val
+        movt            \rd, #:upper16:\val
+#else
+        ldr             \rd, =\val
+#endif
+        .endm