diff options
author | Martin Storsjö <martin@martin.st> | 2015-02-18 00:40:06 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-03-13 13:04:31 +0100 |
commit | 47e8d17132b4f737a544ba777d6da99039b664a8 (patch) | |
tree | f1ff669dffd4408efc42d695bde569789b257c1d | |
parent | a156f86e911a199d61251b69fc68bae452d15f3f (diff) | |
download | ffmpeg-47e8d17132b4f737a544ba777d6da99039b664a8.tar.gz |
arm: Suppress tags about used cpu arch and extensions
When all the codepaths using manually set .arch/.fpu code is
behind runtime detection, the elf attributes should be suppressed.
This allows tools to know that the final built binary doesn't
strictly require these extensions.
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit dcae2e32f7d8a1ca5fb8c1e4aa81313be854dd73)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rwxr-xr-x | configure | 6 | ||||
-rw-r--r-- | libavutil/arm/asm.S | 6 |
2 files changed, 12 insertions, 0 deletions
@@ -1769,6 +1769,7 @@ SYSTEM_FUNCS=" TOOLCHAIN_FEATURES=" as_dn_directive as_func + as_object_arch asm_mod_q attribute_may_alias attribute_packed @@ -4504,6 +4505,11 @@ if enabled_any arm aarch64 || enabled_all ppc altivec && enabled asm; then .func test .endfunc EOF + + # llvm's integrated assembler supports .object_arch from llvm 3.5 + enabled arm && test "$objformat" = elf && check_as <<EOF && enable as_object_arch +.object_arch armv4 +EOF fi check_inline_asm inline_asm_labels '"1:\n"' diff --git a/libavutil/arm/asm.S b/libavutil/arm/asm.S index 1d0e5a97b2..e9b0bcabdb 100644 --- a/libavutil/arm/asm.S +++ b/libavutil/arm/asm.S @@ -49,11 +49,17 @@ #elif HAVE_ARMV5TE .arch armv5te #endif +#if HAVE_AS_OBJECT_ARCH +ELF .object_arch armv4 +#endif #if HAVE_NEON .fpu neon +ELF .eabi_attribute 10, 0 @ suppress Tag_FP_arch +ELF .eabi_attribute 12, 0 @ suppress Tag_Advanced_SIMD_arch #elif HAVE_VFP .fpu vfp +ELF .eabi_attribute 10, 0 @ suppress Tag_FP_arch #endif .syntax unified |