diff options
author | Martin Storsjö <martin@martin.st> | 2014-11-16 12:51:54 +0200 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2014-12-09 11:43:25 +0200 |
commit | f963f80399deb1a2b44c1bac3af7123e8a0c9e46 (patch) | |
tree | 8d0a9e61779857e987d90fa492c93350ada93bf3 | |
parent | 3c01039e0bc7d269900e15551f8171c4328a0223 (diff) | |
download | ffmpeg-f963f80399deb1a2b44c1bac3af7123e8a0c9e46.tar.gz |
arm: Use .data.rel.ro for const data with relocations
Signed-off-by: Martin Storsjö <martin@martin.st>
-rwxr-xr-x | configure | 3 | ||||
-rw-r--r-- | libavcodec/arm/fft_fixed_neon.S | 2 | ||||
-rw-r--r-- | libavcodec/arm/fft_neon.S | 2 | ||||
-rw-r--r-- | libavcodec/arm/fft_vfp.S | 2 | ||||
-rw-r--r-- | libavutil/arm/asm.S | 6 |
5 files changed, 11 insertions, 4 deletions
@@ -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 faddc0095a..c70a18991a 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 c4d89189ea..b161015e39 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 9c7b54e79e..c2801fa1a9 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 93d74b65e1..8479304f5f 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 |