arm: Emit .thumb_func directives
authorMartin Storsjö <martin@martin.st>
Fri, 12 Oct 2018 10:29:51 +0000 (13:29 +0300)
committerMartin Storsjö <martin@martin.st>
Fri, 12 Oct 2018 20:25:53 +0000 (23:25 +0300)
Prior to Xcode 9.3, the clang built-in assembler didn't support
altmacro, and gas-preprocessor was used for assembling for arm/darwin.

For thumb functions, gas-preprocessor took care of adding the .thumb_func
directives, but when now being able to assemble without gas-preprocessor,
we need to add these directives ourselves.

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

index e7eea02..62ce493 100644 (file)
 #   define FPU @
 #endif
 
+#if CONFIG_THUMB && defined(__APPLE__)
+#   define TFUNC
+#else
+#   define TFUNC @
+#endif
+
 #if HAVE_AS_ARCH_DIRECTIVE
 #if   HAVE_NEON
         .arch           armv7-a
@@ -98,10 +104,12 @@ FUNC    .endfunc
         .global EXTERN_ASM\name
 ELF     .type   EXTERN_ASM\name, %function
 FUNC    .func   EXTERN_ASM\name
+TFUNC   .thumb_func EXTERN_ASM\name
 EXTERN_ASM\name:
     .else
 ELF     .type   \name, %function
 FUNC    .func   \name
+TFUNC   .thumb_func \name
 \name:
     .endif
 .endm