arm: Add EXTERN_ASM to the .func and .type declarations for exported symbols

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>
This commit is contained in:
Martin Storsjö 2014-02-04 16:28:24 +02:00
parent 5bcbb516f2
commit e3fec3f095
1 changed files with 4 additions and 1 deletions

View File

@ -72,11 +72,14 @@ ELF .size \name, . - \name
.align \align .align \align
.if \export .if \export
.global EXTERN_ASM\name .global EXTERN_ASM\name
ELF .type EXTERN_ASM\name, %function
.func EXTERN_ASM\name
EXTERN_ASM\name: EXTERN_ASM\name:
.endif .else
ELF .type \name, %function ELF .type \name, %function
.func \name .func \name
\name: \name:
.endif
.endm .endm
.macro const name, align=2 .macro const name, align=2