summaryrefslogtreecommitdiff
path: root/ld/scripttempl
diff options
context:
space:
mode:
authorDave Korn <dave.korn@artimi.com>2011-05-07 14:29:08 +0000
committerDave Korn <dave.korn@artimi.com>2011-05-07 14:29:08 +0000
commitae7b4f9b7dacd33c71f72c69962b7e3d527258dd (patch)
tree4c76058d2065f93c931d89041e7867bc16f22ec7 /ld/scripttempl
parent8c1b430909e48c66c596fe400b3f3d09559027f2 (diff)
downloadbinutils-redhat-ae7b4f9b7dacd33c71f72c69962b7e3d527258dd.tar.gz
bfd/ChangeLog:
PR ld/12365 * cofflink.c (bfd_coff_link_input_bfd): Check for and warn about references to symbols defined in discarded sections. ld/ChangeLog: PR ld/12365 * scripttempl/pe.sc (__rt_psrelocs_start): New symbol definition. (__rt_psrelocs_end): Likewise. (__rt_psrelocs_size): Likewise difference between the above. (__RUNTIME_PSEUDO_RELOC_LIST_END__): Move outside .rdata section immediately after end of pseudo-reloc data. (___RUNTIME_PSEUDO_RELOC_LIST_END___): Likewise. (__RUNTIME_PSEUDO_RELOC_LIST__): Move outside .rdata section and calculate backward from list end. (___RUNTIME_PSEUDO_RELOC_LIST___): Likewise. * scripttempl/pep.sc: Likewise. ld/testsuite/ChangeLog: PR ld/12365 * ld-plugin/plugin-7.d: Allow underscore in error message. * ld-plugin/plugin-8.d: Likewise.
Diffstat (limited to 'ld/scripttempl')
-rw-r--r--ld/scripttempl/pe.sc11
-rw-r--r--ld/scripttempl/pep.sc11
2 files changed, 14 insertions, 8 deletions
diff --git a/ld/scripttempl/pe.sc b/ld/scripttempl/pe.sc
index a82d08c7b5..126c1d4b19 100644
--- a/ld/scripttempl/pe.sc
+++ b/ld/scripttempl/pe.sc
@@ -106,12 +106,15 @@ SECTIONS
.rdata ${RELOCATING+BLOCK(__section_alignment__)} :
{
${R_RDATA}
- ${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST__ = .;}
- ${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST__ = .;}
+ ${RELOCATING+__rt_psrelocs_start = .;}
*(.rdata_runtime_pseudo_reloc)
- ${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;}
- ${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST_END__ = .;}
+ ${RELOCATING+__rt_psrelocs_end = .;}
}
+ ${RELOCATING+__rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start;}
+ ${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;}
+ ${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST_END__ = .;}
+ ${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;}
+ ${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;}
.eh_frame ${RELOCATING+BLOCK(__section_alignment__)} :
{
diff --git a/ld/scripttempl/pep.sc b/ld/scripttempl/pep.sc
index b8315c53f9..a3e0cf3753 100644
--- a/ld/scripttempl/pep.sc
+++ b/ld/scripttempl/pep.sc
@@ -107,12 +107,15 @@ SECTIONS
.rdata ${RELOCATING+BLOCK(__section_alignment__)} :
{
${R_RDATA}
- ${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST__ = .;}
- ${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST__ = .;}
+ ${RELOCATING+__rt_psrelocs_start = .;}
*(.rdata_runtime_pseudo_reloc)
- ${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;}
- ${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST_END__ = .;}
+ ${RELOCATING+__rt_psrelocs_end = .;}
}
+ ${RELOCATING+__rt_psrelocs_size = __rt_psrelocs_end - __rt_psrelocs_start;}
+ ${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;}
+ ${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST_END__ = .;}
+ ${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;}
+ ${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST__ = . - __rt_psrelocs_size;}
.eh_frame ${RELOCATING+BLOCK(__section_alignment__)} :
{