mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-10 01:52:28 +08:00
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:
@ -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);
|
||||
|
Reference in New Issue
Block a user