diff options
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r-- | bfd/elf-bfd.h | 37 |
1 files changed, 15 insertions, 22 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index 5af11cf..b791623 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -605,8 +605,7 @@ enum elf_target_os { is_normal, is_solaris, /* Solaris. */ - is_vxworks, /* VxWorks. */ - is_nacl /* Native Client. */ + is_vxworks /* VxWorks. */ }; /* Used by bfd_sym_from_r_symndx to cache a small number of local @@ -3273,10 +3272,9 @@ extern asection _bfd_elf_large_com_section; link, we remove such relocations. Otherwise, we just want the section contents zeroed and avoid any special processing. */ #define RELOC_AGAINST_DISCARDED_SECTION(info, input_bfd, input_section, \ - rel, count, relend, \ + rel, count, relend, rnone, \ howto, index, contents) \ { \ - int i_; \ _bfd_clear_contents (howto, input_bfd, input_section, \ contents, rel[index].r_offset); \ \ @@ -3288,30 +3286,25 @@ extern asection _bfd_elf_large_com_section; && ((input_section->flags & SEC_DEBUGGING) != 0 \ || elf_section_type (input_section) == SHT_GNU_SFRAME)) \ { \ - Elf_Internal_Shdr *rel_hdr; \ + Elf_Internal_Shdr *rel_hdr \ + = _bfd_elf_single_rel_hdr (input_section->output_section); \ \ - rel_hdr = _bfd_elf_single_rel_hdr (input_section->output_section); \ + rel_hdr->sh_size -= rel_hdr->sh_entsize; \ + rel_hdr = _bfd_elf_single_rel_hdr (input_section); \ + rel_hdr->sh_size -= rel_hdr->sh_entsize; \ \ - /* Avoid empty output section. */ \ - if (rel_hdr->sh_size > rel_hdr->sh_entsize) \ - { \ - rel_hdr->sh_size -= rel_hdr->sh_entsize; \ - rel_hdr = _bfd_elf_single_rel_hdr (input_section); \ - rel_hdr->sh_size -= rel_hdr->sh_entsize; \ + memmove (rel, rel + count, \ + (relend - rel - count) * sizeof (*rel)); \ \ - memmove (rel, rel + count, \ - (relend - rel - count) * sizeof (*rel)); \ - \ - input_section->reloc_count -= count; \ - relend -= count; \ - rel--; \ - continue; \ - } \ + input_section->reloc_count -= count; \ + relend -= count; \ + rel--; \ + continue; \ } \ \ - for (i_ = 0; i_ < count; i_++) \ + for (int i_ = 0; i_ < count; i_++) \ { \ - rel[i_].r_info = 0; \ + rel[i_].r_info = rnone; \ rel[i_].r_addend = 0; \ } \ rel += count - 1; \ |