diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2013-09-11 08:31:44 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2013-09-11 08:31:44 +0000 |
commit | edf9f00c51bc274219a12a2b572abc9ad259af96 (patch) | |
tree | 5af7a118a503547d87fc7a27c5bcb49f86cf712d | |
parent | 1d236d23086bc8ce7d85ed03e9721631e4145538 (diff) | |
download | gdb-edf9f00c51bc274219a12a2b572abc9ad259af96.zip gdb-edf9f00c51bc274219a12a2b572abc9ad259af96.tar.gz gdb-edf9f00c51bc274219a12a2b572abc9ad259af96.tar.bz2 |
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.
-rw-r--r-- | gdb/doc/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 8 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/gnu-debugdata.exp | 14 |
4 files changed, 24 insertions, 8 deletions
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 442b601..1b3e45c 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,5 +1,10 @@ 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. * gdb.texinfo (MiniDebugInfo): Add comment and "D" in the example. diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 00f8e77..b6ba239 100644 --- a/gdb/doc/gdb.texinfo +++ b/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. diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 1bf8fb8..aa7397e 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,10 @@ 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. (addlink): Add comment. diff --git a/gdb/testsuite/gdb.base/gnu-debugdata.exp b/gdb/testsuite/gdb.base/gnu-debugdata.exp index bbd3a76..e567ea8 100644 --- a/gdb/testsuite/gdb.base/gnu-debugdata.exp +++ b/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 |