From 64ecde46199487acc4409d3593069177aaabf1ff Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 29 Nov 1995 17:40:58 +0000 Subject: [PATCH] * 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. --- bfd/ChangeLog | 10 ++++++++++ bfd/coff-alpha.c | 9 +++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 18e09b5b0a..0411cedb27 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,13 @@ +Wed Nov 29 12:42:36 1995 Ian Lance Taylor + + * 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 * elf-bfd.h (struct elf_obj_tdata): Add segment_map field. diff --git a/bfd/coff-alpha.c b/bfd/coff-alpha.c index 7675c56736..402c9edd5d 100644 --- a/bfd/coff-alpha.c +++ b/bfd/coff-alpha.c @@ -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: