On 2015-03-05 23:38:00 +0200, Martin Storsjö wrote:
> 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.
> ---
> Moved the check down into the arm section, removed a redundant
> check, and changed "test" into [ to match the surrounding style.
> ---
>  configure           |    6 ++++++
>  libavutil/arm/asm.S |    6 ++++++
>  2 files changed, 12 insertions(+)
> 
> diff --git a/configure b/configure
> index 0e182b4..0042246 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
> @@ -3921,6 +3922,11 @@ ra .dn d0.i16
>  .unreq ra
>  EOF
>  
> +    # llvm's integrated assembler supports .object_arch from llvm 3.5
> +    [ "$objformat" = elf ] && check_as <<EOF && enable as_object_arch
> +.object_arch armv4
> +EOF
> +
>      [ $target_os != win32 ] && enabled_all armv6t2 shared !pic && 
> enable_weak_pic
>  
>  elif enabled mips; then
> diff --git a/libavutil/arm/asm.S b/libavutil/arm/asm.S
> index 8479304..943c1ce 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

ok

Janne
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to