Browse Source

minidebuginfo: Fix stripping/debuginfo

gdb/doc/
2013-09-11  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* gdb.texinfo (MiniDebugInfo): Prepare file debug and use it to create
	mini_debuginfo.  Strip binary before adding mini_debuginfo to it.

gdb/testsuite/
2013-09-11  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* gdb.base/gnu-debugdata.exp (objcopy 1): Move it lower and use only
	debug part of the binary.
binutils-2_24-branch
Jan Kratochvil 13 years ago
parent
commit
edf9f00c51
  1. 5
      gdb/doc/ChangeLog
  2. 8
      gdb/doc/gdb.texinfo
  3. 5
      gdb/testsuite/ChangeLog
  4. 14
      gdb/testsuite/gdb.base/gnu-debugdata.exp

5
gdb/doc/ChangeLog

@ -1,3 +1,8 @@
2013-09-11 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.texinfo (MiniDebugInfo): Prepare file debug and use it to create
mini_debuginfo. Strip binary before adding mini_debuginfo to it.
2013-09-11 Jan Kratochvil <jan.kratochvil@redhat.com>
Sync documentation with gdb.base/gnu-debugdata.exp.

8
gdb/doc/gdb.texinfo

@ -17340,10 +17340,16 @@ nm @var{binary} --format=posix --defined-only \
# table.
comm -13 dynsyms funcsyms > keep_symbols
# Separate full debug info into debug binary.
objcopy --only-keep-debug @var{binary} debug
# Copy the full debuginfo, keeping only a minimal set of symbols and
# removing some unnecessary sections.
objcopy -S --remove-section .gdb_index --remove-section .comment \
--keep-symbols=keep_symbols @var{binary} mini_debuginfo
--keep-symbols=keep_symbols debug mini_debuginfo
# Drop the full debug info from the original binary.
strip --strip-all -R .comment @var{binary}
# Inject the compressed data into the .gnu_debugdata section of the
# original binary.

5
gdb/testsuite/ChangeLog

@ -1,3 +1,8 @@
2013-09-11 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.base/gnu-debugdata.exp (objcopy 1): Move it lower and use only
debug part of the binary.
2013-09-11 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.base/gnu-debugdata.exp (strip): Add -R .comment.

14
gdb/testsuite/gdb.base/gnu-debugdata.exp

@ -89,13 +89,6 @@ if {[run_on_host "comm" "comm" "-13 ${binfile}.dynsyms ${binfile}.funcsyms" "" \
return -1
}
# Copy the full debuginfo, keeping only a minimal set of symbols and
# removing some unnecessary sections.
remote_file host delete ${binfile}.mini_debuginfo
if {[run_on_host "objcopy 1" [transform objcopy] "-S --remove-section .gdb_index --remove-section .comment --keep-symbols=${binfile}.keep_symbols ${binfile} ${binfile}.mini_debuginfo"]} {
return -1
}
# GDB specific - we do not have split executable in advance.
remote_file host delete ${binfile}.strip
if {[run_on_host "strip" [transform strip] \
@ -110,6 +103,13 @@ if {[run_on_host "copydebug" [transform objcopy] \
return -1
}
# Copy the full debuginfo, keeping only a minimal set of symbols and
# removing some unnecessary sections.
remote_file host delete ${binfile}.mini_debuginfo
if {[run_on_host "objcopy 1" [transform objcopy] "-S --remove-section .gdb_index --remove-section .comment --keep-symbols=${binfile}.keep_symbols ${binfile}.debug ${binfile}.mini_debuginfo"]} {
return -1
}
# Add the .gnu_debuglink section to the .gnu_debugdata file.
# .gnu_debuglink is normally not present in the .gnu_debugdata section but in
# some files there may be PT_NOTE with NT_GNU_BUILD_ID and GDB could look up

Loading…
Cancel
Save