mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-22 19:09:31 +08:00
* elf32-i386.c (elf_i386_relocate_section): Report some detail on
bfd_reloc_outofrange and similar errors.
This commit is contained in:
@ -1,5 +1,8 @@
|
|||||||
2001-10-15 Alan Modra <amodra@bigpond.net.au>
|
2001-10-15 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
|
* elf32-i386.c (elf_i386_relocate_section): Report some detail on
|
||||||
|
bfd_reloc_outofrange and similar errors.
|
||||||
|
|
||||||
* elf.c (_bfd_elf_link_hash_copy_indirect): Test ind->root.type
|
* elf.c (_bfd_elf_link_hash_copy_indirect): Test ind->root.type
|
||||||
rather than ind->weakdef.
|
rather than ind->weakdef.
|
||||||
* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
|
* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
|
||||||
|
@ -2037,12 +2037,7 @@ elf_i386_relocate_section (output_bfd, info, input_bfd, input_section,
|
|||||||
contents, rel->r_offset,
|
contents, rel->r_offset,
|
||||||
relocation, (bfd_vma) 0);
|
relocation, (bfd_vma) 0);
|
||||||
|
|
||||||
switch (r)
|
if (r != bfd_reloc_ok)
|
||||||
{
|
|
||||||
case bfd_reloc_ok:
|
|
||||||
break;
|
|
||||||
|
|
||||||
case bfd_reloc_overflow:
|
|
||||||
{
|
{
|
||||||
const char *name;
|
const char *name;
|
||||||
|
|
||||||
@ -2058,17 +2053,24 @@ elf_i386_relocate_section (output_bfd, info, input_bfd, input_section,
|
|||||||
if (*name == '\0')
|
if (*name == '\0')
|
||||||
name = bfd_section_name (input_bfd, sec);
|
name = bfd_section_name (input_bfd, sec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (r == bfd_reloc_overflow)
|
||||||
|
{
|
||||||
|
|
||||||
if (! ((*info->callbacks->reloc_overflow)
|
if (! ((*info->callbacks->reloc_overflow)
|
||||||
(info, name, howto->name, (bfd_vma) 0,
|
(info, name, howto->name, (bfd_vma) 0,
|
||||||
input_bfd, input_section, rel->r_offset)))
|
input_bfd, input_section, rel->r_offset)))
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
else
|
||||||
|
{
|
||||||
default:
|
(*_bfd_error_handler)
|
||||||
case bfd_reloc_outofrange:
|
(_("%s(%s+0x%lx): reloc against `%s': error %d"),
|
||||||
abort ();
|
bfd_archive_filename (input_bfd),
|
||||||
break;
|
bfd_get_section_name (input_bfd, input_section),
|
||||||
|
(long) rel->r_offset, name, (int) r);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user