diff options
Diffstat (limited to 'bfd/elfxx-sparc.c')
-rw-r--r-- | bfd/elfxx-sparc.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c index 3d89a5f..1f3b9d8 100644 --- a/bfd/elfxx-sparc.c +++ b/bfd/elfxx-sparc.c @@ -37,9 +37,6 @@ /* In case we're on a 32-bit machine, construct a 64-bit "-1" value. */ #define MINUS_ONE (~ (bfd_vma) 0) -#define ABI_64_P(abfd) \ - (get_elf_backend_data (abfd)->s->elfclass == ELFCLASS64) - /* The relocation "howto" table. */ /* Utility for performing the standard initial work of an instruction @@ -679,7 +676,7 @@ _bfd_sparc_elf_info_to_howto (bfd *abfd, arelent *cache_ptr, #define UNDEFINED_WEAK_RESOLVED_TO_ZERO(INFO, EH) \ ((EH)->elf.root.type == bfd_link_hash_undefweak \ && bfd_link_executable (INFO) \ - && (_bfd_sparc_elf_hash_table (INFO)->interp == NULL \ + && (_bfd_sparc_elf_hash_table (INFO)->elf.interp == NULL \ || !(INFO)->dynamic_undefined_weak \ || (EH)->has_non_got_reloc \ || !(EH)->has_got_reloc)) @@ -2408,12 +2405,11 @@ _bfd_sparc_elf_late_size_sections (bfd *output_bfd, /* Set the contents of the .interp section to the interpreter. */ if (bfd_link_executable (info) && !info->nointerp) { - s = bfd_get_linker_section (dynobj, ".interp"); + s = elf_hash_table (info)->interp; BFD_ASSERT (s != NULL); s->size = htab->dynamic_interpreter_size; s->contents = (unsigned char *) htab->dynamic_interpreter; s->alloced = 1; - htab->interp = s; } } @@ -2892,7 +2888,8 @@ _bfd_sparc_elf_relocate_section (bfd *output_bfd, if (sec != NULL && discarded_section (sec)) RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section, - rel, 1, relend, howto, 0, contents); + rel, 1, relend, R_SPARC_NONE, + howto, 0, contents); if (bfd_link_relocatable (info)) continue; |