]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit - bfd/elf.c
Don't change compressed input debug section names
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 23 Apr 2015 14:58:05 +0000 (07:58 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 23 Apr 2015 14:59:59 +0000 (07:59 -0700)
commitf6fe1ccd62e4492aabda6a9a9d12da438d0ebf2b
treea41818b68d4e2ece962519ffc0d61c5b2bc1fb8a
parent4ef9fb2f075daec3885c63aa2056075bdd94384b
Don't change compressed input debug section names

Change compressed input debug section name for objdump is very confusing.
But we need to change it for linker so that linker will consider the
input section as a debug section.  This patch delays section rename to
elf_fake_sections for objcopy and avoids it for objdump.

bfd/

PR binutils/18209
* bfd.c (bfd): Add is_linker_input.
* elf.c (convert_debug_to_zdebug): New.
(convert_zdebug_to_debug): Likewise.
(_bfd_elf_make_section_from_shdr): Don't convert .debug_* to
.zdebug_* here.  Use convert_zdebug_to_debug.  Set SEC_ELF_RENAME.
(_bfd_elf_init_reloc_shdr): Pass a pointer to section name
instead of a pointer to section.
(elf_fake_sections): Rename the section name if SEC_ELF_RENAME
is set.
* section.c (SEC_ELF_RENAME): New.
* bfd-in2.h: Regenerated.

binutils/

PR binutils/18209
* objcopy.c (setup_section): Copy compress status.

binutils/testsuite/

PR binutils/18209
* binutils-all/compress.exp: Replace dw2-3.W with dw2-3gabi.W
on zlib-gabi output.
* binutils-all/dw2-1.W: Convert section names to .zdebug_*.
* binutils-all/dw2-3.W: Likewise.
* binutils-all/objdump.W: Likewise.
* binutils-all/dw2-3gabi.W: New file.

ld/

PR binutils/18209
* ldfile.c (ldfile_try_open_bfd): Set is_linker_input to 1.
15 files changed:
bfd/ChangeLog
bfd/bfd-in2.h
bfd/bfd.c
bfd/elf.c
bfd/section.c
binutils/ChangeLog
binutils/objcopy.c
binutils/testsuite/ChangeLog
binutils/testsuite/binutils-all/compress.exp
binutils/testsuite/binutils-all/dw2-1.W
binutils/testsuite/binutils-all/dw2-3.W
binutils/testsuite/binutils-all/dw2-3gabi.W [new file with mode: 0644]
binutils/testsuite/binutils-all/objdump.W
ld/ChangeLog
ld/ldfile.c