* 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.
This commit is contained in:
Ian Lance Taylor 1995-11-29 17:40:58 +00:00
parent 2a3486d2f9
commit 64ecde4619
2 changed files with 13 additions and 6 deletions

View 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.

View 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: