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 57efe97..f4523ea 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