aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorDave Korn <dave.korn@artimi.com>2011-05-07 14:29:10 +0000
committerDave Korn <dave.korn@artimi.com>2011-05-07 14:29:10 +0000
commit730035f7afaff40fa613348abd5a087319f1cb45 (patch)
tree40f5c47b778b58d3ba67cb5ecdfc343be99b9b6e /ld
parent88e5939496319c9169fffee2d24f4b6e928d06a6 (diff)
downloadgdb-730035f7afaff40fa613348abd5a087319f1cb45.zip
gdb-730035f7afaff40fa613348abd5a087319f1cb45.tar.gz
gdb-730035f7afaff40fa613348abd5a087319f1cb45.tar.bz2
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')
-rw-r--r--ld/ChangeLog14
-rw-r--r--ld/scripttempl/pe.sc11
-rw-r--r--ld/scripttempl/pep.sc11
-rw-r--r--ld/testsuite/ChangeLog6
-rw-r--r--ld/testsuite/ld-plugin/plugin-7.d2
-rw-r--r--ld/testsuite/ld-plugin/plugin-8.d2
6 files changed, 36 insertions, 10 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 7368c5c..b2fe365 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,17 @@
+2011-05-07 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ 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.
+
2011-05-06 Tristan Gingold <gingold@adacore.com>
* scripttempl/alphavms.sc (CODE): Add *$CODE*.
diff --git a/ld/scripttempl/pe.sc b/ld/scripttempl/pe.sc
index a82d08c..126c1d4 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 b8315c5..a3e0cf3 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__)} :
{
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index c312749..02581cc 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2011-05-07 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR ld/12365
+ * ld-plugin/plugin-7.d: Allow underscore in error message.
+ * ld-plugin/plugin-8.d: Likewise.
+
2011-05-07 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12730
diff --git a/ld/testsuite/ld-plugin/plugin-7.d b/ld/testsuite/ld-plugin/plugin-7.d
index 04f4139..4d0b9d7 100644
--- a/ld/testsuite/ld-plugin/plugin-7.d
+++ b/ld/testsuite/ld-plugin/plugin-7.d
@@ -26,6 +26,6 @@ hook called: claim_file tmpdir/func.o \[@0/.* CLAIMED
hook called: claim_file tmpdir/text.o \[@0/.* not claimed
#...
hook called: all symbols read.
-`func' referenced in section `\.text.*' of tmpdir/main.o: defined in discarded section .*
+`_?func' referenced in section `\.text.*' of tmpdir/main.o: defined in discarded section .*
hook called: cleanup.
#...
diff --git a/ld/testsuite/ld-plugin/plugin-8.d b/ld/testsuite/ld-plugin/plugin-8.d
index 003537c..a589f01 100644
--- a/ld/testsuite/ld-plugin/plugin-8.d
+++ b/ld/testsuite/ld-plugin/plugin-8.d
@@ -30,6 +30,6 @@ hook called: claim_file tmpdir/text.o \[@0/.* not claimed
hook called: all symbols read.
Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
-`func' referenced in section `\.text.*' of tmpdir/main.o: defined in discarded section .*
+`_?func' referenced in section `\.text.*' of tmpdir/main.o: defined in discarded section .*
hook called: cleanup.
#...