ARM: apply extern symbol prefix where needed
authorMåns Rullgård <mans@mansr.com>
Fri, 2 Oct 2009 08:42:00 +0000 (08:42 +0000)
committerMåns Rullgård <mans@mansr.com>
Fri, 2 Oct 2009 08:42:00 +0000 (08:42 +0000)
Originally committed as revision 20147 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/arm/asm.S
libavcodec/arm/fft_neon.S
libavcodec/arm/mdct_neon.S

index 0600673..0fbd641 100644 (file)
@@ -36,7 +36,8 @@ ELF     .eabi_attribute 25, \val
 
         .macro function name, export=0
 .if \export
-        .global \name
+        .global EXTERN_ASM\name
+EXTERN_ASM\name:
 .endif
 ELF     .type   \name, %function
         .func   \name
@@ -60,3 +61,7 @@ ELF     .type   \name, %function
 #   define VFP   @
 #   define NOVFP
 #endif
+
+#define GLUE(a, b) a ## b
+#define JOIN(a, b) GLUE(a, b)
+#define X(s) JOIN(EXTERN_ASM, s)
index fcd835a..e237196 100644 (file)
@@ -141,7 +141,7 @@ function fft16_neon
         vswp            d29, d30                @ q14{r12,i12,i14,r15} q15{r13,i13,i15,r14}
         vadd.f32        q0,  q12, q13           @ {t1,t2,t5,t6}
         vadd.f32        q1,  q14, q15           @ {t1a,t2a,t5a,t6a}
-        movrel          r2,  ff_cos_16
+        movrel          r2,  X(ff_cos_16)
         vsub.f32        q13, q12, q13           @ {t3,t4,t7,t8}
         vrev64.32       d1,  d1
         vsub.f32        q15, q14, q15           @ {t3a,t4a,t7a,t8a}
@@ -288,7 +288,7 @@ function fft\n\()_neon
         bl              fft\n4\()_neon
         mov             r0,  r4
         pop             {r4, lr}
-        movrel          r1,  ff_cos_\n
+        movrel          r1,  X(ff_cos_\n)
         mov             r2,  #\n4/2
         b               fft_pass_neon
 .endfunc
index 52438b8..495c2b2 100644 (file)
@@ -24,6 +24,8 @@
         .fpu neon
         .text
 
+#define ff_fft_calc_neon X(ff_fft_calc_neon)
+
 function ff_imdct_half_neon, export=1
         push            {r4-r8,lr}