* coff-alpha.c (alpha_ecoff_swap_reloc_in): Don't abort if
authorIan Lance Taylor <ian@airs.com>
Wed, 29 Nov 1995 17:40:58 +0000 (17:40 +0000)
committerIan Lance Taylor <ian@airs.com>
Wed, 29 Nov 1995 17:40:58 +0000 (17:40 +0000)
r_symndx is RELOC_SECTION_NONE for an ALPHA_R_IGNORE reloc.
Change a RELOC_SECTION_LITA symndx to RELOC_SECTION_ABS.
(alpha_ecoff_swap_reloc_out): Change RELOC_SECTION_ABS to
RELOC_SECTION_LITA for ALPHA_R_IGNORE.
(alpha_adjust_reloc_out): For ALPHA_R_IGNORE, don't change
RELOC_SECTION_ABS to RELOC_SECTION_NONE.

bfd/ChangeLog
bfd/coff-alpha.c

index 18e09b5b0ac963a3d608fcccecee4c6f5dff315a..0411cedb2778d0da040b9c7e25a8cdb77d35ad1b 100644 (file)
@@ -1,3 +1,13 @@
+Wed Nov 29 12:42:36 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coff-alpha.c (alpha_ecoff_swap_reloc_in): Don't abort if
+       r_symndx is RELOC_SECTION_NONE for an ALPHA_R_IGNORE reloc.
+       Change a RELOC_SECTION_LITA symndx to RELOC_SECTION_ABS.
+       (alpha_ecoff_swap_reloc_out): Change RELOC_SECTION_ABS to
+       RELOC_SECTION_LITA for ALPHA_R_IGNORE.
+       (alpha_adjust_reloc_out): For ALPHA_R_IGNORE, don't change
+       RELOC_SECTION_ABS to RELOC_SECTION_NONE.
+
 Tue Nov 28 16:59:50 1995  Ian Lance Taylor  <ian@cygnus.com>
 
        * elf-bfd.h (struct elf_obj_tdata): Add segment_map field.
index 7675c56736db7be38665df8f097b8013adf7f24e..402c9edd5d517caa9d29eae91a15a0bf2349a64e 100644 (file)
@@ -553,11 +553,10 @@ alpha_ecoff_swap_reloc_in (abfd, ext_ptr, intern)
       /* The IGNORE reloc generally follows a GPDISP reloc, and is
         against the .lita section.  The section is irrelevant.  */
       if (! intern->r_extern &&
-         (intern->r_symndx == RELOC_SECTION_NONE
-          || intern->r_symndx == RELOC_SECTION_ABS))
+         intern->r_symndx == RELOC_SECTION_ABS)
        abort ();
       if (! intern->r_extern && intern->r_symndx == RELOC_SECTION_LITA)
-       intern->r_symndx = RELOC_SECTION_NONE;
+       intern->r_symndx = RELOC_SECTION_ABS;
     }
 }
 
@@ -582,7 +581,7 @@ alpha_ecoff_swap_reloc_out (abfd, intern, dst)
     }
   else if (intern->r_type == ALPHA_R_IGNORE
           && ! intern->r_extern
-          && intern->r_symndx == RELOC_SECTION_NONE)
+          && intern->r_symndx == RELOC_SECTION_ABS)
     {
       symndx = RELOC_SECTION_LITA;
       size = intern->r_size;
@@ -721,8 +720,6 @@ alpha_adjust_reloc_out (abfd, rel, intern)
 
     case ALPHA_R_IGNORE:
       intern->r_vaddr = rel->address;
-      if (intern->r_symndx == RELOC_SECTION_ABS)
-       intern->r_symndx = RELOC_SECTION_NONE;
       break;
 
     default: