Fri Oct 23 10:32:36 1992 Steve Chamberlain (sac@thepub.cygnus.com)

* seclet.c (rel): don't load sections without the SEC_LOAD bit.

Thu Oct 15 10:16:35 1992  Steve Chamberlain  (sac@thepub.cygnus.com)

	* coff-m68k.c (m68k_howto2type, SELECT_RELOC): new function to
	work out a coff relocation type from a howto's attributes rather
	than using the input r_type field. This fixes PR1677 and allows
	conversion of a.out relocs to coff relocs.

	* coffcode.h (coff_write_relocs): if supplied a relocation
	relative to an absolute symbol, use the right symbol index.

	* reloc.c (bfd_perform_relocation): do a partial link for coff
	relocs right.
This commit is contained in:
Steve Chamberlain
1992-10-23 17:34:37 +00:00
parent b26059aa44
commit c26d7d179c
4 changed files with 75 additions and 20 deletions

View File

@ -1852,13 +1852,26 @@ DEFUN(coff_write_relocs,(abfd),
else
#endif
if (q->sym_ptr_ptr) {
n.r_symndx = get_index((*(q->sym_ptr_ptr)));
/* Take notice if the symbol reloc points to a symbol we don't have
in our symbol table. What should we do for this?? */
if (n.r_symndx > obj_conv_table_size (abfd))
abort ();
if (q->sym_ptr_ptr)
{
if (q->sym_ptr_ptr == bfd_abs_section.symbol_ptr_ptr)
{
/* This is a relocation relative to the absolute symbol */
n.r_symndx = -1;
}
else
{
n.r_symndx = get_index((*(q->sym_ptr_ptr)));
/* Take notice if the symbol reloc points to a symbol we don't have
in our symbol table. What should we do for this?? */
if (n.r_symndx > obj_conv_table_size (abfd))
abort ();
}
}
#ifdef SELECT_RELOC
/* Work out reloc type from what is required */
SELECT_RELOC(n.r_type, q->howto);