Fix for xty_ld symbols
authorTom Rix <trix@redhat.com>
Thu, 30 Aug 2001 12:48:35 +0000 (12:48 +0000)
committerTom Rix <trix@redhat.com>
Thu, 30 Aug 2001 12:48:35 +0000 (12:48 +0000)
bfd/ChangeLog
bfd/xcofflink.c

index c8203ff4be21d7335b2e9564aa315ddb4d20b8a3..dac33c962fde56ec3d44b6176354e286c2fe01cb 100644 (file)
        (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.
index 4e25c595d453e4f617cb328942e1dda0634f06cc..ec4257c91b5ff0b702311d3a1b9638592b9c3106 100644 (file)
@@ -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;