This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi Guys, Right - now that I understand why --only-keep-debug is leaving in the section headers of stripped sections, I have a two part patch for you to consider. The first part updates the binutils documentation, explaining why the headers are preserved. Hopefully this will stop other people from falling into the same trap that I fell into, thinking that strip was failing to actually delete non-debug sections. The second part of the patch fixes a problem with the sh_link fields in the stripped section headers - it was always being set to zero. Although technically this is valid, it is a problem for other tools which try to match up the section headers in the debug-only file with the section headers in the stripped-of-debug-info file. Leaving the links intact helps these tools match up the two files. One problem I did have with this part of the patch was in determining which sections should have their sh_link fields preserved. In the end I had to encode the section names directly, but I feel that their ought to be a better way. The second part of the patch also adds a testcase to the binutils testsuite to check that the sh_link values are preserved. Tested with no regressions on lots of different toolchains. What do people think - any objections or problems with the patch ? Cheers Nick bfd/ChangeLog 2015-07-29 Nick Clifton <nickc@redhat.com> * elf.c (sec_links_to_symtab): New function. (sec_links_to_strtab): New function. (assign_section_numbers): Set the sh_link field in NOBITS sections that would have that field set if their type was not NOBITS. binutils/ChangeLog * doc/binutils.texi (objcopy): Note the --only-keep-debug retains the headers of stripped sections. (strip): Likewise. binutils/testsuite/ChangeLog * binutils-all/objcopy.exp (keep_debug_symbols_and_check_links): New proc/test. Checks the sh_link fields of NOBITS sections in a --only-keep-debug stripped executable.
Attachment:
objcopy.only-keep-debug.patch.2
Description: Unix manual page
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |