On 2014-12-08 13:45:04 +0200, Martin Storsjö wrote:
> ---
> configure | 3 +++
> libavcodec/arm/fft_fixed_neon.S | 2 +-
> libavcodec/arm/fft_neon.S | 2 +-
> libavcodec/arm/fft_vfp.S | 2 +-
> libavutil/arm/asm.S | 6 +++++-
> 5 files changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/configure b/configure
> index 9ac4a8e..ed8316f 100755
> --- a/configure
> +++ b/configure
> @@ -1543,6 +1543,7 @@ HAVE_LIST="
> libdc1394_1
> libdc1394_2
> sdl
> + section_data_rel_ro
> threads
> vdpau_x11
> xlib
> @@ -3415,6 +3416,7 @@ case $target_os in
> ;;
> android)
> disable symver
> + enable section_data_rel_ro
> SLIB_INSTALL_NAME='$(SLIBNAME)'
> SLIB_INSTALL_LINKS=
> # soname not set on purpose
> @@ -3549,6 +3551,7 @@ case $target_os in
> ;;
> linux)
> enable dv1394
> + enable section_data_rel_ro
> ;;
> irix*)
> target_os=irix
> diff --git a/libavcodec/arm/fft_fixed_neon.S b/libavcodec/arm/fft_fixed_neon.S
> index faddc00..c70a189 100644
> --- a/libavcodec/arm/fft_fixed_neon.S
> +++ b/libavcodec/arm/fft_fixed_neon.S
> @@ -242,7 +242,7 @@ function ff_fft_fixed_calc_neon, export=1
> bx r3
> endfunc
>
> -const fft_fixed_tab_neon
> +const fft_fixed_tab_neon, relocate=1
> .word fft4_neon
> .word fft8_neon
> .word fft16_neon
> diff --git a/libavcodec/arm/fft_neon.S b/libavcodec/arm/fft_neon.S
> index c4d8918..b161015 100644
> --- a/libavcodec/arm/fft_neon.S
> +++ b/libavcodec/arm/fft_neon.S
> @@ -348,7 +348,7 @@ function ff_fft_permute_neon, export=1
> pop {r4,pc}
> endfunc
>
> -const fft_tab_neon
> +const fft_tab_neon, relocate=1
> .word fft4_neon
> .word fft8_neon
> .word fft16_neon
> diff --git a/libavcodec/arm/fft_vfp.S b/libavcodec/arm/fft_vfp.S
> index 9c7b54e..c2801fa 100644
> --- a/libavcodec/arm/fft_vfp.S
> +++ b/libavcodec/arm/fft_vfp.S
> @@ -33,7 +33,7 @@ function ff_fft_calc_vfp, export=1
> movrel a2, (fft_tab_vfp - 8)
> ldr pc, [a2, ip, lsl #2]
> endfunc
> -const fft_tab_vfp
> +const fft_tab_vfp, relocate=1
> .word fft4_vfp
> .word fft8_vfp
> .word X(ff_fft16_vfp) @ this one alone is exported
> diff --git a/libavutil/arm/asm.S b/libavutil/arm/asm.S
> index 93d74b6..8479304 100644
> --- a/libavutil/arm/asm.S
> +++ b/libavutil/arm/asm.S
> @@ -89,12 +89,16 @@ FUNC .func \name
> .endif
> .endm
>
> -.macro const name, align=2
> +.macro const name, align=2, relocate=0
> .macro endconst
> ELF .size \name, . - \name
> .purgem endconst
> .endm
> +.if HAVE_SECTION_DATA_REL_RO && \relocate
> + .section .data.rel.ro
> +.else
> .section .rodata
> +.endif
> .align \align
> \name:
> .endm
ok
Janne
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel