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/aoutx.h | |
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/aoutx.h')
-rw-r--r-- | bfd/aoutx.h | 42 |
1 files changed, 36 insertions, 6 deletions
diff --git a/bfd/aoutx.h b/bfd/aoutx.h index b7d2d44..2f70cd3 100644 --- a/bfd/aoutx.h +++ b/bfd/aoutx.h @@ -4253,9 +4253,24 @@ aout_link_input_section_std (finfo, input_bfd, input_section, relocs, case bfd_reloc_outofrange: abort (); case bfd_reloc_overflow: - if (! ((*finfo->info->callbacks->reloc_overflow) - (finfo->info, input_bfd, input_section, r_addr))) - return false; + { + const char *name; + + if (r_extern) + name = strings + GET_WORD (input_bfd, + syms[r_index].e_strx); + else + { + asection *s; + + s = aout_reloc_index_to_section (input_bfd, r_index); + name = bfd_section_name (input_bfd, s); + } + if (! ((*finfo->info->callbacks->reloc_overflow) + (finfo->info, name, howto_table_std[howto_idx].name, + (bfd_vma) 0, input_bfd, input_section, r_addr))) + return false; + } break; } } @@ -4539,9 +4554,24 @@ aout_link_input_section_ext (finfo, input_bfd, input_section, relocs, case bfd_reloc_outofrange: abort (); case bfd_reloc_overflow: - if (! ((*finfo->info->callbacks->reloc_overflow) - (finfo->info, input_bfd, input_section, r_addr))) - return false; + { + const char *name; + + if (r_extern) + name = strings + GET_WORD (input_bfd, + syms[r_index].e_strx); + else + { + asection *s; + + s = aout_reloc_index_to_section (input_bfd, r_index); + name = bfd_section_name (input_bfd, s); + } + if (! ((*finfo->info->callbacks->reloc_overflow) + (finfo->info, name, howto_table_ext[r_type].name, + r_addend, input_bfd, input_section, r_addr))) + return false; + } break; } } |