mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-18 14:53:32 +08:00
[ARM] Bind defined symbol locally in PIE
bfd/ PR target/20737 * elf32-arm.c (elf32_arm_final_link_relocate): Bind defined symbol locally in PIE. ld/ * testsuite/ld-arm/pie-bind-locally-a.s: New test source. * testsuite/ld-arm/pie-bind-locally-b.s: Likewise. * testsuite/ld-arm/pie-bind-locally.d: New testcase. * testsuite/ld-arm/arm-elf.exp: Run new testcase.
This commit is contained in:
parent
51750acd08
commit
1dcb9720d6
@ -1,3 +1,9 @@
|
||||
2016-11-24 Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
PR target/20737
|
||||
* elf32-arm.c (elf32_arm_final_link_relocate): Bind defined symbol
|
||||
locally in PIE.
|
||||
|
||||
2016-11-24 Kuan-Lin Chen <kuanlinchentw@gmail.com>
|
||||
|
||||
* bfd/elfxx-riscv.c (howto_table): Fix bitsize of R_RISCV_ADD8.
|
||||
|
@ -10147,7 +10147,8 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
|
||||
else if (h != NULL
|
||||
&& h->dynindx != -1
|
||||
&& (!bfd_link_pic (info)
|
||||
|| !SYMBOLIC_BIND (info, h)
|
||||
|| !(bfd_link_pie (info)
|
||||
|| SYMBOLIC_BIND (info, h))
|
||||
|| !h->def_regular))
|
||||
outrel.r_info = ELF32_R_INFO (h->dynindx, r_type);
|
||||
else
|
||||
|
@ -1,3 +1,11 @@
|
||||
2016-11-24 Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
PR target/20737
|
||||
* testsuite/ld-arm/pie-bind-locally-a.s: New test source.
|
||||
* testsuite/ld-arm/pie-bind-locally-b.s: Likewise.
|
||||
* testsuite/ld-arm/pie-bind-locally.d: New testcase.
|
||||
* testsuite/ld-arm/arm-elf.exp: Run new testcase.
|
||||
|
||||
2016-11-24 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR ld/20858
|
||||
|
@ -345,6 +345,7 @@ run_dump_test "movw-shared-3"
|
||||
run_dump_test "movw-shared-4"
|
||||
run_dump_test "rel32-reject"
|
||||
run_dump_test "rel32-reject-pie"
|
||||
run_dump_test "pie-bind-locally"
|
||||
|
||||
# Exclude non-ARM-EABI targets.
|
||||
|
||||
|
5
ld/testsuite/ld-arm/pie-bind-locally-a.s
Normal file
5
ld/testsuite/ld-arm/pie-bind-locally-a.s
Normal file
@ -0,0 +1,5 @@
|
||||
.text
|
||||
.align 2
|
||||
.global _start
|
||||
_start:
|
||||
.word _start(GOT)
|
6
ld/testsuite/ld-arm/pie-bind-locally-b.s
Normal file
6
ld/testsuite/ld-arm/pie-bind-locally-b.s
Normal file
@ -0,0 +1,6 @@
|
||||
.section .data.rel,"aw",%progbits
|
||||
.align 2
|
||||
.type q, %object
|
||||
.size q, 4
|
||||
q:
|
||||
.word _start
|
9
ld/testsuite/ld-arm/pie-bind-locally.d
Normal file
9
ld/testsuite/ld-arm/pie-bind-locally.d
Normal file
@ -0,0 +1,9 @@
|
||||
#source: pie-bind-locally-a.s
|
||||
#source: pie-bind-locally-b.s
|
||||
#ld: -pie
|
||||
#readelf: -Wr
|
||||
|
||||
Relocation section '\.rel\.dyn' at offset .* contains 2 entries:
|
||||
[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
|
||||
[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_ARM_RELATIVE[ ].*
|
||||
[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_ARM_RELATIVE[ ].*
|
Loading…
Reference in New Issue
Block a user