mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-12 12:16:04 +08:00
ca3fe95e46
With copy relocation, address of protected data defined in the shared library may be external. This patch adds extern_protected_data and changes _bfd_elf_symbol_refs_local_p to return false for protected data if extern_protected_data is true. bfd/ PR ld/pr15228 PR ld/pr17709 * elf-bfd.h (elf_backend_data): Add extern_protected_data. * elf32-i386.c (elf_backend_extern_protected_data): New. Defined to 1. * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise. * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on copy relocs against protected symbols if extern_protected_data is true. (_bfd_elf_symbol_refs_local_p): Don't return true on protected non-function symbols if extern_protected_data is true. * elfxx-target.h (elf_backend_extern_protected_data): New. Default to 0. (elfNN_bed): Initialize extern_protected_data with elf_backend_extern_protected_data. ld/testsuite/ PR ld/pr15228 PR ld/pr17709 * ld-i386/i386.exp (i386tests): Add a test for PR ld/17709. * ld-i386/pr17709-nacl.rd: New file. * ld-i386/pr17709.rd: Likewise. * ld-i386/pr17709a.s: Likewise. * ld-i386/pr17709b.s: Likewise. * ld-i386/protected3.d: Updated. * ld-i386/protected3.s: Likewise. * ld-x86-64/pr17709-nacl.rd: New file. * ld-x86-64/pr17709.rd: Likewise. * ld-x86-64/pr17709a.s: Likewise. * ld-x86-64/pr17709b.s: Likewise. * ld-x86-64/protected3.d: Updated. * ld-x86-64/protected3.s: Likewise. * ld-x86-64/x86-64.exp (x86_64tests): Add a test for PR ld/17709. |
||
---|---|---|
.. | ||
abs.d | ||
abs.s | ||
alloc.d | ||
alloc.s | ||
alloc.t | ||
combreloc.d | ||
combreloc.s | ||
compressed1.d | ||
compressed1.s | ||
discarded1.d | ||
discarded1.s | ||
discarded1.t | ||
emit-relocs-nacl.rd | ||
emit-relocs.rd | ||
emit-relocs.s | ||
export-class.exp | ||
hidden1.d | ||
hidden1.s | ||
hidden2.d | ||
hidden2.s | ||
hidden3.d | ||
hidden3.s | ||
i386-export-class.rd | ||
i386-export-class.xd | ||
i386.exp | ||
lea1.s | ||
lea1a.d | ||
lea1b.d | ||
lea1c.d | ||
lea1d.d | ||
lea1e.d | ||
lea1f.d | ||
mov1.s | ||
mov1a.d | ||
mov1b.d | ||
nogot1.d | ||
nogot1.s | ||
nogot2.d | ||
nogot2.s | ||
pcrel8.d | ||
pcrel8.s | ||
pcrel16.d | ||
pcrel16.s | ||
pcrel16abs.d | ||
pcrel16abs.s | ||
plt-lib.c | ||
plt-main1.c | ||
plt-main1.rd | ||
plt-main2.c | ||
plt-main2.rd | ||
plt-main3.c | ||
plt-main3.rd | ||
plt-main4.c | ||
plt-main4.rd | ||
plt-main5.c | ||
plt-main.out | ||
plt-main.rd | ||
plt-nacl.pd | ||
plt-pic-nacl.pd | ||
plt-pic.pd | ||
plt-pic.s | ||
plt.pd | ||
plt.s | ||
pltlib.s | ||
pr12570a.d | ||
pr12570a.s | ||
pr12570b.d | ||
pr12570b.s | ||
pr12627.d | ||
pr12627.s | ||
pr12627.t | ||
pr12718.d | ||
pr12718.s | ||
pr12921.d | ||
pr12921.s | ||
pr13302.d | ||
pr13302.s | ||
pr14215.d | ||
pr14215.s | ||
pr17057.d | ||
pr17057.s | ||
pr17306a.s | ||
pr17306b.s | ||
pr17709-nacl.rd | ||
pr17709.rd | ||
pr17709a.s | ||
pr17709b.s | ||
pr17935-1.d | ||
pr17935-1.s | ||
pr17935-2.d | ||
pr17935-2.s | ||
protected1.d | ||
protected1.s | ||
protected2.d | ||
protected2.s | ||
protected3.d | ||
protected3.s | ||
protected4.d | ||
protected4.s | ||
protected5.d | ||
protected5.s | ||
reloc.d | ||
reloc.s | ||
tlsbin-nacl.rd | ||
tlsbin.dd | ||
tlsbin.rd | ||
tlsbin.s | ||
tlsbin.sd | ||
tlsbin.td | ||
tlsbindesc-nacl.rd | ||
tlsbindesc.dd | ||
tlsbindesc.rd | ||
tlsbindesc.s | ||
tlsbindesc.sd | ||
tlsbindesc.td | ||
tlsbinpic.s | ||
tlsdesc-nacl.rd | ||
tlsdesc.dd | ||
tlsdesc.rd | ||
tlsdesc.s | ||
tlsdesc.sd | ||
tlsdesc.td | ||
tlsg.s | ||
tlsg.sd | ||
tlsgd1.dd | ||
tlsgd1.s | ||
tlsgd2.d | ||
tlsgd2.s | ||
tlsgdesc-nacl.rd | ||
tlsgdesc.dd | ||
tlsgdesc.rd | ||
tlsgdesc.s | ||
tlsie1.dd | ||
tlsie1.s | ||
tlsie2.d | ||
tlsie2.s | ||
tlsie3.d | ||
tlsie3.s | ||
tlsie4.d | ||
tlsie4.s | ||
tlsie5.d | ||
tlsie5.s | ||
tlsindntpoff.dd | ||
tlsindntpoff.s | ||
tlsld1.dd | ||
tlsld1.s | ||
tlslib.s | ||
tlsnopic1.s | ||
tlsnopic2.s | ||
tlsnopic-nacl.rd | ||
tlsnopic.dd | ||
tlsnopic.rd | ||
tlsnopic.sd | ||
tlspic1.s | ||
tlspic2.s | ||
tlspic-nacl.rd | ||
tlspic.dd | ||
tlspic.rd | ||
tlspic.sd | ||
tlspic.td | ||
tlspie1.d | ||
tlspie1.s | ||
tlspie2.d | ||
tlspie2.s | ||
vxworks1-lib.dd | ||
vxworks1-lib.nd | ||
vxworks1-lib.rd | ||
vxworks1-lib.s | ||
vxworks1-lib.td | ||
vxworks1-static.d | ||
vxworks1.dd | ||
vxworks1.ld | ||
vxworks1.rd | ||
vxworks1.s | ||
vxworks2-static.sd | ||
vxworks2.s | ||
vxworks2.sd | ||
warn1.d | ||
warn1.s | ||
zero.s |