Return relocation error on unsupported relocation.
2011-04-09 H.J. Lu <hongjiu.lu@intel.com> * elf32-i386.c (elf_i386_relocate_section): Return relocation error on unsupported relocation. * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
This commit is contained in:
parent
b4f2f049b1
commit
62d7890874
@ -1,3 +1,9 @@
|
||||
2011-04-09 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* elf32-i386.c (elf_i386_relocate_section): Return relocation
|
||||
error on unsupported relocation.
|
||||
* elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
|
||||
|
||||
2011-04-09 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR binutils/12657
|
||||
|
@ -3451,7 +3451,11 @@ elf_i386_relocate_section (bfd *output_bfd,
|
||||
|
||||
sreloc = elf_section_data (input_section)->sreloc;
|
||||
|
||||
BFD_ASSERT (sreloc != NULL && sreloc->contents != NULL);
|
||||
if (sreloc == NULL || sreloc->contents == NULL)
|
||||
{
|
||||
r = bfd_reloc_notsupported;
|
||||
goto check_relocation_error;
|
||||
}
|
||||
|
||||
loc = sreloc->contents;
|
||||
loc += sreloc->reloc_count++ * sizeof (Elf32_External_Rel);
|
||||
@ -4096,6 +4100,7 @@ do_relocation:
|
||||
contents, rel->r_offset,
|
||||
relocation, 0);
|
||||
|
||||
check_relocation_error:
|
||||
if (r != bfd_reloc_ok)
|
||||
{
|
||||
const char *name;
|
||||
|
@ -3411,7 +3411,11 @@ elf_x86_64_relocate_section (bfd *output_bfd,
|
||||
|
||||
sreloc = elf_section_data (input_section)->sreloc;
|
||||
|
||||
BFD_ASSERT (sreloc != NULL && sreloc->contents != NULL);
|
||||
if (sreloc == NULL || sreloc->contents == NULL)
|
||||
{
|
||||
r = bfd_reloc_notsupported;
|
||||
goto check_relocation_error;
|
||||
}
|
||||
|
||||
elf_append_rela (output_bfd, sreloc, &outrel);
|
||||
|
||||
@ -3868,6 +3872,7 @@ do_relocation:
|
||||
contents, rel->r_offset,
|
||||
relocation, rel->r_addend);
|
||||
|
||||
check_relocation_error:
|
||||
if (r != bfd_reloc_ok)
|
||||
{
|
||||
const char *name;
|
||||
@ -3896,7 +3901,7 @@ do_relocation:
|
||||
else
|
||||
{
|
||||
(*_bfd_error_handler)
|
||||
(_("%B(%A+0x%lx): reloc against `%s': error %d"),
|
||||
(_("%B(%A+0x%lx): reloc against `%s': error %r"),
|
||||
input_bfd, input_section,
|
||||
(long) rel->r_offset, name, (int) r);
|
||||
return FALSE;
|
||||
|
Loading…
Reference in New Issue
Block a user