diff --git a/configure b/configure index 0e182b484f2a1960c36eb40327e113e0b34301cd..59438b833e8522178ccdcf683f6e4fedb2d7b79d 100755 --- a/configure +++ b/configure @@ -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 diff --git a/libavutil/arm/asm.S b/libavutil/arm/asm.S index 8479304f5fdce26450135d4ef77d7659f445758d..943c1cea3fc1f21e89e0eba07762b140244dab9f 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