diff options
author | Janne Grunau <janne-libav@jannau.net> | 2014-05-30 09:58:43 +0200 |
---|---|---|
committer | Janne Grunau <janne-libav@jannau.net> | 2014-06-03 14:23:03 +0200 |
commit | d5a55981986ac5d1a31aef3a8d16eaff8534a412 (patch) | |
tree | 5d820f26256d6e2b12e67f858712c41dc6187b15 | |
parent | 896a5bff64264f4d01ed98eacc97a67260c1e17e (diff) | |
download | ffmpeg-d5a55981986ac5d1a31aef3a8d16eaff8534a412.tar.gz |
build: check if AS supports the '.func' directive
Not supported by Clang's integrated assembler. Since it just adds
debug information it can safely omitted.
-rwxr-xr-x | configure | 6 | ||||
-rw-r--r-- | libavutil/aarch64/asm.S | 12 | ||||
-rw-r--r-- | libavutil/arm/asm.S | 12 |
3 files changed, 24 insertions, 6 deletions
@@ -1468,6 +1468,7 @@ SYSTEM_FUNCS=" TOOLCHAIN_FEATURES=" as_dn_directive + as_func asm_mod_q attribute_may_alias attribute_packed @@ -3734,6 +3735,11 @@ if enabled asm; then .endm m x EOF + + check_as <<EOF && enable as_func +.func test +.endfunc +EOF fi check_inline_asm inline_asm_labels '"1:\n"' diff --git a/libavutil/aarch64/asm.S b/libavutil/aarch64/asm.S index 3690a33af6..850f16b415 100644 --- a/libavutil/aarch64/asm.S +++ b/libavutil/aarch64/asm.S @@ -26,10 +26,16 @@ # define ELF # #endif +#if HAVE_AS_FUNC +# define FUNC +#else +# define FUNC # +#endif + .macro function name, export=0, align=2 .macro endfunc ELF .size \name, . - \name - .endfunc +FUNC .endfunc .purgem endfunc .endm .text @@ -37,11 +43,11 @@ ELF .size \name, . - \name .if \export .global EXTERN_ASM\name ELF .type EXTERN_ASM\name, %function - .func EXTERN_ASM\name +FUNC .func EXTERN_ASM\name EXTERN_ASM\name: .else ELF .type \name, %function - .func \name +FUNC .func \name \name: .endif .endm diff --git a/libavutil/arm/asm.S b/libavutil/arm/asm.S index 5884e172f3..93d74b65e1 100644 --- a/libavutil/arm/asm.S +++ b/libavutil/arm/asm.S @@ -34,6 +34,12 @@ # define T @ #endif +#if HAVE_AS_FUNC +# define FUNC +#else +# define FUNC @ +#endif + #if HAVE_NEON .arch armv7-a #elif HAVE_ARMV6T2 @@ -66,7 +72,7 @@ ELF .section .note.GNU-stack,"",%progbits @ Mark stack as non-executable .noaltmacro .endif ELF .size \name, . - \name - .endfunc +FUNC .endfunc .purgem endfunc .endm .text @@ -74,11 +80,11 @@ ELF .size \name, . - \name .if \export .global EXTERN_ASM\name ELF .type EXTERN_ASM\name, %function - .func EXTERN_ASM\name +FUNC .func EXTERN_ASM\name EXTERN_ASM\name: .else ELF .type \name, %function - .func \name +FUNC .func \name \name: .endif .endm |