Jakub Jelinek <jj@ultra.linux.cz>
* elf64_sparc.c (sparc64_elf_relocate_section): Use R_SPARC_max_std instead of R_SPARC_max. (sparc64_elf_info_to_howto): Likewise. * elf32_sparc.c (elf32_sparc_relocate_section): Likewise. (elf32_sparc_info_to_howto): Likewise; handle vtable relocations.
This commit is contained in:
parent
d7ba4a779e
commit
60dac29966
3 changed files with 25 additions and 5 deletions
|
@ -1,3 +1,11 @@
|
|||
1999-06-10 Jakub Jelinek <jj@ultra.linux.cz>
|
||||
|
||||
* elf64_sparc.c (sparc64_elf_relocate_section): Use R_SPARC_max_std
|
||||
instead of R_SPARC_max.
|
||||
(sparc64_elf_info_to_howto): Likewise.
|
||||
* elf32_sparc.c (elf32_sparc_relocate_section): Likewise.
|
||||
(elf32_sparc_info_to_howto): Likewise; handle vtable relocations.
|
||||
|
||||
1999-06-07 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* section.c (_bfd_strip_section_from_output): Remove output
|
||||
|
|
|
@ -215,8 +215,20 @@ elf32_sparc_info_to_howto (abfd, cache_ptr, dst)
|
|||
arelent *cache_ptr;
|
||||
Elf_Internal_Rela *dst;
|
||||
{
|
||||
BFD_ASSERT (ELF32_R_TYPE(dst->r_info) < (unsigned int) R_SPARC_max);
|
||||
cache_ptr->howto = &_bfd_sparc_elf_howto_table[ELF32_R_TYPE(dst->r_info)];
|
||||
switch (ELF32_R_TYPE(dst->r_info))
|
||||
{
|
||||
case R_SPARC_GNU_VTINHERIT:
|
||||
cache_ptr->howto = &elf32_sparc_vtinherit_howto;
|
||||
break;
|
||||
|
||||
case R_SPARC_GNU_VTENTRY:
|
||||
cache_ptr->howto = &elf32_sparc_vtentry_howto;
|
||||
break;
|
||||
|
||||
default:
|
||||
BFD_ASSERT (ELF32_R_TYPE(dst->r_info) < (unsigned int) R_SPARC_max_std);
|
||||
cache_ptr->howto = &_bfd_sparc_elf_howto_table[ELF32_R_TYPE(dst->r_info)];
|
||||
}
|
||||
}
|
||||
|
||||
/* For unsupported relocs. */
|
||||
|
@ -1134,7 +1146,7 @@ elf32_sparc_relocate_section (output_bfd, info, input_bfd, input_section,
|
|||
|| r_type == R_SPARC_GNU_VTENTRY)
|
||||
continue;
|
||||
|
||||
if (r_type < 0 || r_type >= (int) R_SPARC_max)
|
||||
if (r_type < 0 || r_type >= (int) R_SPARC_max_std)
|
||||
{
|
||||
bfd_set_error (bfd_error_bad_value);
|
||||
return false;
|
||||
|
|
|
@ -213,7 +213,7 @@ sparc64_elf_info_to_howto (abfd, cache_ptr, dst)
|
|||
arelent *cache_ptr;
|
||||
Elf64_Internal_Rela *dst;
|
||||
{
|
||||
BFD_ASSERT (ELF64_R_TYPE (dst->r_info) < (unsigned int) R_SPARC_max);
|
||||
BFD_ASSERT (ELF64_R_TYPE (dst->r_info) < (unsigned int) R_SPARC_max_std);
|
||||
cache_ptr->howto = &sparc64_elf_howto_table[ELF64_R_TYPE (dst->r_info)];
|
||||
}
|
||||
|
||||
|
@ -1246,7 +1246,7 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section,
|
|||
bfd_reloc_status_type r;
|
||||
|
||||
r_type = ELF64_R_TYPE (rel->r_info);
|
||||
if (r_type < 0 || r_type >= (int) R_SPARC_max)
|
||||
if (r_type < 0 || r_type >= (int) R_SPARC_max_std)
|
||||
{
|
||||
bfd_set_error (bfd_error_bad_value);
|
||||
return false;
|
||||
|
|
Loading…
Reference in a new issue