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>
This commit is contained in:
Martin Storsjö 2015-02-18 00:40:06 +02:00
parent cecf45b2bf
commit dcae2e32f7
2 changed files with 12 additions and 0 deletions

6
configure vendored
View File

@ -1494,6 +1494,7 @@ SYSTEM_FUNCS="
TOOLCHAIN_FEATURES="
as_dn_directive
as_func
as_object_arch
asm_mod_q
attribute_may_alias
attribute_packed
@ -3868,6 +3869,11 @@ if enabled_any arm aarch64 || enabled_all ppc altivec && enabled asm; then
check_as <<EOF && enable as_func
.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

View File

@ -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