diff options
author | Ian Lance Taylor <ian@airs.com> | 1994-01-24 20:23:18 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1994-01-24 20:23:18 +0000 |
commit | 4991ebb9873c7965b6a70f47ef9ed5c0149b5ae4 (patch) | |
tree | 68fd14f3d82d9a8b76892d47d49561184d4b5ccb /bfd/coff-alpha.c | |
parent | 5dad4c97286ccff467bb6c96203056106a19e551 (diff) | |
download | gdb-4991ebb9873c7965b6a70f47ef9ed5c0149b5ae4.zip gdb-4991ebb9873c7965b6a70f47ef9ed5c0149b5ae4.tar.gz gdb-4991ebb9873c7965b6a70f47ef9ed5c0149b5ae4.tar.bz2 |
* bfd/aoutx.h (aout_link_input_section_std,
aout_link_input_section_ext): Pass additional arguments to
reloc_overflow callback.
* coff-alpha.c (alpha_ecoff_get_relocated_section_contents,
alpha_relocat_section): Likewise.
* coff-h8300.c (h8300_reloc16_extra_cases): Likewise.
* coff-h8500.c (extra_case): Likewise.
* coff-mips.c (mips_relocate_section): Likewise.
* coff-z8k.c (extra_case): Likewise.
* elf32-hppa.c (hppa_elf_stub_finish): Likewise.
* reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
Diffstat (limited to 'bfd/coff-alpha.c')
-rw-r--r-- | bfd/coff-alpha.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/bfd/coff-alpha.c b/bfd/coff-alpha.c index 9153d02..5a35d7d 100644 --- a/bfd/coff-alpha.c +++ b/bfd/coff-alpha.c @@ -1032,7 +1032,9 @@ alpha_ecoff_get_relocated_section_contents (abfd, link_info, link_order, break; case bfd_reloc_overflow: if (! ((*link_info->callbacks->reloc_overflow) - (link_info, input_bfd, input_section, rel->address))) + (link_info, bfd_asymbol_name (*rel->sym_ptr_ptr), + rel->howto->name, rel->addend, input_bfd, + input_section, rel->address))) return NULL; break; case bfd_reloc_outofrange: @@ -1749,10 +1751,20 @@ alpha_relocate_section (output_bfd, info, input_bfd, input_section, case bfd_reloc_outofrange: abort (); case bfd_reloc_overflow: - if (! ((*info->callbacks->reloc_overflow) - (info, input_bfd, input_section, - r_vaddr - input_section->vma))) - return false; + { + const char *name; + + if (r_extern) + name = sym_hashes[r_symndx]->root.root.string; + else + name = bfd_section_name (input_bfd, + symndx_to_section[r_symndx]); + if (! ((*info->callbacks->reloc_overflow) + (info, name, alpha_howto_table[r_type].name, + (bfd_vma) 0, input_bfd, input_section, + r_vaddr - input_section->vma))) + return false; + } break; } } |