mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
[AArch64] Fix function pointer variable with -Bsymbolic-functions
bfd/ChangeLog 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com> * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND to check if a symbol should be bound symbolically. ld/testsuite/ChangeLog 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com> * ld-aarch64/aarch64-elf.exp: Added relocs-257-symbolic-func test. * ld-aarch64/relocs-257-symbolic-func.d: New file. * ld-aarch64/relocs-257-symbolic-func.s: Likewise.
This commit is contained in:
parent
0172429c3b
commit
0941db698e
@ -1,3 +1,8 @@
|
|||||||
|
2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||||||
|
|
||||||
|
* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use SYMBOLIC_BIND
|
||||||
|
to check if a symbol should be bound symbolically.
|
||||||
|
|
||||||
2015-01-13 Jiong Wang <jiong.wang@arm.com>
|
2015-01-13 Jiong Wang <jiong.wang@arm.com>
|
||||||
|
|
||||||
* elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
|
* elfnn-aarch64.c: (elfNN_aarch64_howto_table): Enable overflow check
|
||||||
|
@ -4337,7 +4337,7 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
|
|||||||
memset (&outrel, 0, sizeof outrel);
|
memset (&outrel, 0, sizeof outrel);
|
||||||
else if (h != NULL
|
else if (h != NULL
|
||||||
&& h->dynindx != -1
|
&& h->dynindx != -1
|
||||||
&& (!info->shared || !info->symbolic || !h->def_regular))
|
&& (!info->shared || !SYMBOLIC_BIND (info, h) || !h->def_regular))
|
||||||
outrel.r_info = ELFNN_R_INFO (h->dynindx, r_type);
|
outrel.r_info = ELFNN_R_INFO (h->dynindx, r_type);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||||||
|
|
||||||
|
* ld-aarch64/aarch64-elf.exp: Added relocs-257-symbolic-func test.
|
||||||
|
* ld-aarch64/relocs-257-symbolic-func.d: New file.
|
||||||
|
* ld-aarch64/relocs-257-symbolic-func.s: Likewise.
|
||||||
|
|
||||||
2015-01-13 Jiong Wang <jiong.wang@arm.com>
|
2015-01-13 Jiong Wang <jiong.wang@arm.com>
|
||||||
|
|
||||||
* ld-aarch64/tprel_g2_overflow.s: New testcase.
|
* ld-aarch64/tprel_g2_overflow.s: New testcase.
|
||||||
|
@ -177,6 +177,7 @@ run_dump_test "ifunc-21"
|
|||||||
run_dump_test "ifunc-22"
|
run_dump_test "ifunc-22"
|
||||||
|
|
||||||
run_dump_test "relasz"
|
run_dump_test "relasz"
|
||||||
|
run_dump_test "relocs-257-symbolic-func"
|
||||||
|
|
||||||
set aarch64elflinktests {
|
set aarch64elflinktests {
|
||||||
{"ld-aarch64/so with global symbol" "-shared" "" "" {copy-reloc-so.s}
|
{"ld-aarch64/so with global symbol" "-shared" "" "" {copy-reloc-so.s}
|
||||||
|
5
ld/testsuite/ld-aarch64/relocs-257-symbolic-func.d
Normal file
5
ld/testsuite/ld-aarch64/relocs-257-symbolic-func.d
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#source: relocs-257-symbolic-func.s
|
||||||
|
#ld: -shared -Bsymbolic-functions
|
||||||
|
#readelf: -r --wide
|
||||||
|
#...
|
||||||
|
.* +R_AARCH64_RELATIVE +.*
|
11
ld/testsuite/ld-aarch64/relocs-257-symbolic-func.s
Normal file
11
ld/testsuite/ld-aarch64/relocs-257-symbolic-func.s
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
.text
|
||||||
|
.global tempy
|
||||||
|
.type tempy, %function
|
||||||
|
tempy:
|
||||||
|
.size tempy, .-tempy
|
||||||
|
.section .data.rel
|
||||||
|
.align 3
|
||||||
|
.type tempy_ptr, %object
|
||||||
|
.size tempy_ptr, 8
|
||||||
|
tempy_ptr:
|
||||||
|
.xword tempy
|
Loading…
Reference in New Issue
Block a user