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.
This commit is contained in:
parent
ff60020566
commit
0abb10c82d
@ -1,3 +1,9 @@
|
|||||||
|
2014-12-26 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
PR 17755
|
||||||
|
* elf64-sh64.c (sh_elf64_copy_private_data_internal): Delete code
|
||||||
|
copying SHF_SH5_ISA32.
|
||||||
|
|
||||||
2014-12-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
2014-12-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||||||
|
|
||||||
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle new
|
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle new
|
||||||
|
@ -2259,31 +2259,10 @@ sh_elf64_set_private_flags (bfd *abfd, flagword flags)
|
|||||||
static bfd_boolean
|
static bfd_boolean
|
||||||
sh_elf64_copy_private_data_internal (bfd *ibfd, bfd *obfd)
|
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
|
if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|
||||||
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
|
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
|
||||||
return TRUE;
|
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. */
|
/* Copy object attributes. */
|
||||||
_bfd_elf_copy_private_bfd_data (ibfd, obfd);
|
_bfd_elf_copy_private_bfd_data (ibfd, obfd);
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2014-12-26 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
* binutils-all/strip-11.d: New test.
|
||||||
|
* binutils-all/objcopy.exp: Run it.
|
||||||
|
|
||||||
2014-12-06 Eric Botcazou <ebotcazou@adacore.com>
|
2014-12-06 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
* binutils-all/objcopy.exp: Skip strip-10 for Visium.
|
* binutils-all/objcopy.exp: Skip strip-10 for Visium.
|
||||||
|
@ -960,6 +960,12 @@ if [is_elf_format] {
|
|||||||
&& !([istarget "arm*-*-*"] && ![istarget "arm-*-*eabi*"])} {
|
&& !([istarget "arm*-*-*"] && ![istarget "arm-*-*eabi*"])} {
|
||||||
run_dump_test "strip-10"
|
run_dump_test "strip-10"
|
||||||
}
|
}
|
||||||
|
set extra_strip11 ""
|
||||||
|
if { [istarget "sh64*-*"] } {
|
||||||
|
# pr17755 testcase
|
||||||
|
set extra_strip11 { { "as" "--isa=SHmedia --abi=64" } }
|
||||||
|
}
|
||||||
|
run_dump_test "strip-11" $extra_strip11
|
||||||
|
|
||||||
if { [istarget "i*86-*"] || [istarget "x86_64-*-*"] } {
|
if { [istarget "i*86-*"] || [istarget "x86_64-*-*"] } {
|
||||||
# Check to make sure we don't strip a symbol named in relocations.
|
# Check to make sure we don't strip a symbol named in relocations.
|
||||||
|
12
binutils/testsuite/binutils-all/strip-11.d
Normal file
12
binutils/testsuite/binutils-all/strip-11.d
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#PROG: strip
|
||||||
|
#source: empty.s
|
||||||
|
#strip: -g
|
||||||
|
#readelf: -S --wide
|
||||||
|
#name: strip -g empty file
|
||||||
|
|
||||||
|
#...
|
||||||
|
\[ 0\] +NULL +0+ .*
|
||||||
|
#...
|
||||||
|
\[ .\] \.shstrtab +STRTAB +0+ .*
|
||||||
|
Key to Flags:
|
||||||
|
#pass
|
Loading…
x
Reference in New Issue
Block a user