arm: Add EXTERN_ASM to the .func and .type declarations for exported symbols
authorMartin Storsjö <martin@martin.st>
Tue, 4 Feb 2014 14:28:24 +0000 (16:28 +0200)
committerMartin Storsjö <martin@martin.st>
Fri, 7 Feb 2014 13:14:06 +0000 (15:14 +0200)
This makes the generated assembly more internally consistent,
avoiding declaring two labels for the same function (for cases
where EXTERN_ASM is empty) and not declaring a separate unprefixed
label in other cases.

This also makes sure the .func and .type delcarations have the same
prefix. They have previously not been used on the platforms
that have prefixed symbols on arm (iOS), but gas-preprocessor
has recently started using the .func declarations for adding
.thumb_func declarations for such functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
libavutil/arm/asm.S

index 57efe977edd6156b2c974c70e8b959f46e04c4c3..f4523ea310ea6495c2224082717b60d301587b16 100644 (file)
@@ -72,11 +72,14 @@ ELF     .size   \name, . - \name
         .align          \align
     .if \export
         .global EXTERN_ASM\name
+ELF     .type   EXTERN_ASM\name, %function
+        .func   EXTERN_ASM\name
 EXTERN_ASM\name:
-    .endif
+    .else
 ELF     .type   \name, %function
         .func   \name
 \name:
+    .endif
 .endm
 
 .macro  const   name, align=2