aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/xcofflink.c8
2 files changed, 9 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index c8203ff..dac33c9 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -26,6 +26,11 @@
(elf32_h8_mach, elf32_h8_final_write_processing): New functions.
(elf32_h8_object_p): Similarly.
+2001-08-29 Tom Rix <trix@redhat.com>
+
+ * xcofflink.c (xcoff_link_add_symbols): Fix XTY_LD symbol that
+ does not follow a XTY_SD.
+
2001-08-29 Alan Modra <amodra@bigpond.net.au>
* targmatch.sed: Delete case statements.
diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c
index 4e25c59..ec4257c 100644
--- a/bfd/xcofflink.c
+++ b/bfd/xcofflink.c
@@ -1574,9 +1574,9 @@ xcoff_link_add_symbols (abfd, info)
case XTY_LD:
/* This is a label definition. The x_scnlen field is the
- symbol index of the csect. I believe that this must
- always follow the appropriate XTY_SD symbol, so I will
- insist on it. */
+ symbol index of the csect. Usually the XTY_LD symbol will
+ follow its appropriate XTY_SD symbol. The .set pseudo op can
+ cause the XTY_LD to not follow the XTY_SD symbol. */
{
boolean bad;
@@ -1600,7 +1600,7 @@ xcoff_link_add_symbols (abfd, info)
bfd_set_error (bfd_error_bad_value);
goto error_return;
}
-
+ csect = section;
value = sym.n_value - csect->vma;
}
break;