From: luo rixin Date: Fri, 8 Jan 2021 08:16:02 +0000 (+0800) Subject: [PATCH] src/isa-l/erasure_code: Fix text relocation on aarch64 X-Git-Tag: archive/raspbian/16.2.11+ds-2+rpi1^2~8 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c3f136aa5445f050bcf75b1808c20d3f7e6ce314;p=ceph.git [PATCH] src/isa-l/erasure_code: Fix text relocation on aarch64 Here is the bug report on ceph. https://tracker.ceph.com/issues/48681 Signed-off-by: luo rixin Gbp-Pq: Name bug1917414.patch --- diff --git a/src/isa-l/erasure_code/aarch64/gf_2vect_mad_neon.S b/src/isa-l/erasure_code/aarch64/gf_2vect_mad_neon.S index 92c19f549..b8a8cadc6 100644 --- a/src/isa-l/erasure_code/aarch64/gf_2vect_mad_neon.S +++ b/src/isa-l/erasure_code/aarch64/gf_2vect_mad_neon.S @@ -360,7 +360,8 @@ gf_2vect_mad_neon: sub x_dest1, x_dest1, x_tmp sub x_dest2, x_dest2, x_tmp - ldr x_const, =const_tbl + adrp x_const, const_tbl + add x_const, x_const, :lo12:const_tbl sub x_const, x_const, x_tmp ldr q_tmp, [x_const, #16] @@ -394,7 +395,7 @@ gf_2vect_mad_neon: mov w_ret, #1 ret -.section .data +.section .rodata .balign 8 const_tbl: .dword 0x0000000000000000, 0x0000000000000000 diff --git a/src/isa-l/erasure_code/aarch64/gf_3vect_mad_neon.S b/src/isa-l/erasure_code/aarch64/gf_3vect_mad_neon.S index 4a041e053..d9a3cccc4 100644 --- a/src/isa-l/erasure_code/aarch64/gf_3vect_mad_neon.S +++ b/src/isa-l/erasure_code/aarch64/gf_3vect_mad_neon.S @@ -332,7 +332,8 @@ gf_3vect_mad_neon: sub x_dest2, x_dest2, x_tmp sub x_dest3, x_dest3, x_tmp - ldr x_const, =const_tbl + adrp x_const, const_tbl + add x_const, x_const, :lo12:const_tbl sub x_const, x_const, x_tmp ldr q_tmp, [x_const, #16] @@ -374,7 +375,7 @@ gf_3vect_mad_neon: mov w_ret, #1 ret -.section .data +.section .rodata .balign 8 const_tbl: .dword 0x0000000000000000, 0x0000000000000000 diff --git a/src/isa-l/erasure_code/aarch64/gf_4vect_mad_neon.S b/src/isa-l/erasure_code/aarch64/gf_4vect_mad_neon.S index d56cece4c..869243702 100644 --- a/src/isa-l/erasure_code/aarch64/gf_4vect_mad_neon.S +++ b/src/isa-l/erasure_code/aarch64/gf_4vect_mad_neon.S @@ -397,7 +397,8 @@ gf_4vect_mad_neon: sub x_dest3, x_dest3, x_tmp sub x_dest4, x_dest4, x_tmp - ldr x_const, =const_tbl + adrp x_const, const_tbl + add x_const, x_const, :lo12:const_tbl sub x_const, x_const, x_tmp ldr q_tmp, [x_const, #16] @@ -448,7 +449,7 @@ gf_4vect_mad_neon: mov w_ret, #1 ret -.section .data +.section .rodata .balign 8 const_tbl: .dword 0x0000000000000000, 0x0000000000000000 diff --git a/src/isa-l/erasure_code/aarch64/gf_5vect_mad_neon.S b/src/isa-l/erasure_code/aarch64/gf_5vect_mad_neon.S index 5cbc6bf92..f0ff163fe 100644 --- a/src/isa-l/erasure_code/aarch64/gf_5vect_mad_neon.S +++ b/src/isa-l/erasure_code/aarch64/gf_5vect_mad_neon.S @@ -463,7 +463,8 @@ gf_5vect_mad_neon: sub x_dest4, x_dest4, x_tmp sub x_dest5, x_dest5, x_tmp - ldr x_const, =const_tbl + adrp x_const, const_tbl + add x_const, x_const, :lo12:const_tbl sub x_const, x_const, x_tmp ldr q_tmp, [x_const, #16] @@ -527,7 +528,7 @@ gf_5vect_mad_neon: mov w_ret, #1 ret -.section .data +.section .rodata .balign 8 const_tbl: .dword 0x0000000000000000, 0x0000000000000000 diff --git a/src/isa-l/erasure_code/aarch64/gf_6vect_mad_neon.S b/src/isa-l/erasure_code/aarch64/gf_6vect_mad_neon.S index 4886440ba..7ec2d80b6 100644 --- a/src/isa-l/erasure_code/aarch64/gf_6vect_mad_neon.S +++ b/src/isa-l/erasure_code/aarch64/gf_6vect_mad_neon.S @@ -526,7 +526,8 @@ gf_6vect_mad_neon: sub x_dest5, x_dest5, x_tmp sub x_dest6, x_dest6, x_tmp - ldr x_const, =const_tbl + adrp x_const, const_tbl + add x_const, x_const, :lo12:const_tbl sub x_const, x_const, x_tmp ldr q_tmp, [x_const, #16] @@ -602,7 +603,7 @@ gf_6vect_mad_neon: mov w_ret, #1 ret -.section .data +.section .rodata .balign 8 const_tbl: .dword 0x0000000000000000, 0x0000000000000000 diff --git a/src/isa-l/erasure_code/aarch64/gf_vect_mad_neon.S b/src/isa-l/erasure_code/aarch64/gf_vect_mad_neon.S index 0e25a51e8..9ebd86b4a 100644 --- a/src/isa-l/erasure_code/aarch64/gf_vect_mad_neon.S +++ b/src/isa-l/erasure_code/aarch64/gf_vect_mad_neon.S @@ -281,7 +281,8 @@ gf_vect_mad_neon: mov x_src, x_src_end sub x_dest1, x_dest1, x_tmp - ldr x_const, =const_tbl + adrp x_const, const_tbl + add x_const, x_const, :lo12:const_tbl sub x_const, x_const, x_tmp ldr q_tmp, [x_const, #16] @@ -307,7 +308,7 @@ gf_vect_mad_neon: mov w_ret, #1 ret -.section .data +.section .rodata .balign 8 const_tbl: .dword 0x0000000000000000, 0x0000000000000000