From 0abb10c82d2c202e34b87104d51080b6d1de26d1 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 26 Dec 2014 18:26:38 +1030 Subject: Delete unnecessary code copying SHF_SH5_ISA32 flag Since 2006, commit d270463e9, _bfd_elf_copy_private_section_data has copied over SHF_MASKOS and SHF_MASKPROC flags. That makes the buggy code in sh_elf64_copy_private_data_internal redundant. bfd/ PR 17755 * elf64-sh64.c (sh_elf64_copy_private_data_internal): Delete code copying SHF_SH5_ISA32. binutils/testsuite/ * binutils-all/strip-11.d: New test. * binutils-all/objcopy.exp: Run it. --- bfd/ChangeLog | 6 ++++++ bfd/elf64-sh64.c | 21 --------------------- 2 files changed, 6 insertions(+), 21 deletions(-) (limited to 'bfd') diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 8bfb260..7b3a474 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2014-12-26 Alan Modra + + PR 17755 + * elf64-sh64.c (sh_elf64_copy_private_data_internal): Delete code + copying SHF_SH5_ISA32. + 2014-12-25 Thomas Preud'homme * elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle new diff --git a/bfd/elf64-sh64.c b/bfd/elf64-sh64.c index 7497929..79cab57 100644 --- a/bfd/elf64-sh64.c +++ b/bfd/elf64-sh64.c @@ -2259,31 +2259,10 @@ sh_elf64_set_private_flags (bfd *abfd, flagword flags) static bfd_boolean sh_elf64_copy_private_data_internal (bfd *ibfd, bfd *obfd) { - Elf_Internal_Shdr **o_shdrp; - asection *isec; - asection *osec; - if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour || bfd_get_flavour (obfd) != bfd_target_elf_flavour) return TRUE; - o_shdrp = elf_elfsections (obfd); - for (osec = obfd->sections; osec; osec = osec->next) - { - int oIndex = ((struct bfd_elf_section_data *) elf_section_data (osec))->this_idx; - for (isec = ibfd->sections; isec; isec = isec->next) - { - if (strcmp (osec->name, isec->name) == 0) - { - /* Note that we're not disallowing mixing data and code. */ - if ((elf_section_data (isec)->this_hdr.sh_flags - & SHF_SH5_ISA32) != 0) - o_shdrp[oIndex]->sh_flags |= SHF_SH5_ISA32; - break; - } - } - } - /* Copy object attributes. */ _bfd_elf_copy_private_bfd_data (ibfd, obfd); -- cgit v1.1