aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elflink.c7
-rw-r--r--ld/testsuite/ChangeLog4
-rw-r--r--ld/testsuite/ld-scripts/crossref.exp3
4 files changed, 18 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index fce9926..d0eb8ee 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2004-07-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elflink.c (elf_fixup_link_order): Issue a warning and flag
+ an error if failed.
+
2004-07-21 H.J. Lu <hongjiu.lu@intel.com>
* aout-adobe.c (aout_32_section_already_linked): Defined.
diff --git a/bfd/elflink.c b/bfd/elflink.c
index f75dbac..e3f5e4a 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -7252,7 +7252,12 @@ elf_fixup_link_order (bfd *abfd, asection *o)
return TRUE;
if (seen_other && seen_linkorder)
- return FALSE;
+ {
+ (*_bfd_error_handler) ("%s: has both ordered and unordered sections",
+ o->name);
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
sections = (struct bfd_link_order **)
xmalloc (seen_linkorder * sizeof (struct bfd_link_order *));
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index ec18521..74732d4 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2004-07-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-scripts/crossref.exp: XFAIL ia64-*-* on the first test.
+
2004-07-13 Nitin Yewale <nitiny@kpitcummins.com>
* ld-h8300/h8300.exp: Addition of gcsection test case.
diff --git a/ld/testsuite/ld-scripts/crossref.exp b/ld/testsuite/ld-scripts/crossref.exp
index 4fd81b3..e6761ef 100644
--- a/ld/testsuite/ld-scripts/crossref.exp
+++ b/ld/testsuite/ld-scripts/crossref.exp
@@ -54,6 +54,9 @@ if [istarget sh64*-*-elf] {
set flags "-mshelf32"
}
+# IA64 has both ordered and unordered sections in an input file.
+setup_xfail ia64-*-*
+
verbose -log "$ld $flags -o tmpdir/cross1 -T $srcdir/$subdir/cross1.t tmpdir/cross1.o tmpdir/cross2.o"
catch "exec $ld $flags -o tmpdir/cross1 -T $srcdir/$subdir/cross1.t tmpdir/cross1.o tmpdir/cross2.o" exec_output