aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2005-04-25 14:59:09 +0000
committerH.J. Lu <hjl.tools@gmail.com>2005-04-25 14:59:09 +0000
commit6d633fd2827c7c46c05c45b75781ca8ab6a9afce (patch)
tree1a0e86abc4dc46bb84fb6b723e1ba33c4307403d
parentbee59fd28b6134cf8d4e8435b1dedc638ee9f6ea (diff)
downloadgdb-6d633fd2827c7c46c05c45b75781ca8ab6a9afce.zip
gdb-6d633fd2827c7c46c05c45b75781ca8ab6a9afce.tar.gz
gdb-6d633fd2827c7c46c05c45b75781ca8ab6a9afce.tar.bz2
bfd/
2005-04-25 H.J. Lu <hongjiu.lu@intel.com> PR 858 * elflink.c (elf_link_input_bfd): Make non-debugging reference to discarded section an error. ld/testsuite/ 2005-04-25 H.J. Lu <hongjiu.lu@intel.com> * ld-discard/extern.d: Expect error. * ld-discard/start.d: Likewise. * ld-discard/static.d: Likewise.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elflink.c2
-rw-r--r--ld/testsuite/ChangeLog6
-rw-r--r--ld/testsuite/ld-discard/extern.d2
-rw-r--r--ld/testsuite/ld-discard/start.d2
-rw-r--r--ld/testsuite/ld-discard/static.d2
6 files changed, 17 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 5e9f707..9d8e077 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2005-04-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR 858
+ * elflink.c (elf_link_input_bfd): Make non-debugging reference
+ to discarded section an error.
+
2005-04-21 Jerome Guitton <guitton@gnat.com>
* configure.in: Replace BFD_NEED_DECLARATION checks by the
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 017ebe4..cd9131e 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -7048,6 +7048,8 @@ elf_link_input_bfd (struct elf_final_link_info *finfo, bfd *input_bfd)
(_("`%s' referenced in section `%A' of %B: "
"defined in discarded section `%A' of %B"),
o, input_bfd, sec, sec->owner, sym_name);
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
}
/* Try to do the best we can to support buggy old
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index f1fbcb9..355d97f 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2005-04-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-discard/extern.d: Expect error.
+ * ld-discard/start.d: Likewise.
+ * ld-discard/static.d: Likewise.
+
2005-04-19 Alan Modra <amodra@bigpond.net.au>
* ld-powerpc/reloc.d: Update to suit removal of non-alloc relocs.
diff --git a/ld/testsuite/ld-discard/extern.d b/ld/testsuite/ld-discard/extern.d
index e5143cb..9033792 100644
--- a/ld/testsuite/ld-discard/extern.d
+++ b/ld/testsuite/ld-discard/extern.d
@@ -1,6 +1,6 @@
#source: extern.s
#ld: -T discard.ld
-#warning: .*data.* referenced in section `\.text' of tmpdir/dump0.o: defined in discarded section `\.data\.exit' of tmpdir/dump0.o
+#error: .*data.* referenced in section `\.text' of tmpdir/dump0.o: defined in discarded section `\.data\.exit' of tmpdir/dump0.o
#objdump: -p
#pass
# The expected warning used to start with "`data' referenced..." but
diff --git a/ld/testsuite/ld-discard/start.d b/ld/testsuite/ld-discard/start.d
index 2ad6e9f..5c685e8 100644
--- a/ld/testsuite/ld-discard/start.d
+++ b/ld/testsuite/ld-discard/start.d
@@ -1,6 +1,6 @@
#source: start.s
#source: exit.s
#ld: -T discard.ld
-#warning: `data' referenced in section `\.text' of tmpdir/dump0.o: defined in discarded section `\.data\.exit' of tmpdir/dump1.o
+#error: `data' referenced in section `\.text' of tmpdir/dump0.o: defined in discarded section `\.data\.exit' of tmpdir/dump1.o
#objdump: -p
#pass
diff --git a/ld/testsuite/ld-discard/static.d b/ld/testsuite/ld-discard/static.d
index eefeeea..3b5255b 100644
--- a/ld/testsuite/ld-discard/static.d
+++ b/ld/testsuite/ld-discard/static.d
@@ -1,5 +1,5 @@
#source: static.s
#ld: -T discard.ld
-#warning: `(\.data\.exit|data)' referenced in section `\.text' of tmpdir/dump0.o: defined in discarded section `\.data\.exit' of tmpdir/dump0.o
+#error: `(\.data\.exit|data)' referenced in section `\.text' of tmpdir/dump0.o: defined in discarded section `\.data\.exit' of tmpdir/dump0.o
#objdump: -p
#pass