From: Jan Kratochvil <jan.kratochvil@redhat.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: gdb-patches@sourceware.org, roland@redhat.com
Subject: Re: [patch] build-id .debug files load (like .gnu_debuglink)
Date: Sat, 01 Sep 2007 13:12:00 -0000 [thread overview]
Message-ID: <20070901131212.GA32719@host0.dyn.jankratochvil.net> (raw)
In-Reply-To: <uir6uvayc.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 353 bytes --]
On Sat, 01 Sep 2007 14:15:07 +0200, Eli Zaretskii wrote:
...
> But the first command, the one to create the separate debug info file,
> is still needed, right?
>
> In any case, we should tell that these commands (or at least the last
> one) is only needed for the debug-link method.
Enhanced the section I hope according to your advice.
Thanks,
Jan
[-- Attachment #2: gdb-build-id-news-and-build2.patch --]
[-- Type: text/plain, Size: 3636 bytes --]
2007-09-01 Jan Kratochvil <jan.kratochvil@redhat.com>
* NEWS: Mention the build-id .debug files verification.
2007-09-01 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.texinfo (Separate Debug Files): Cosmetic quoting removal.
Fixed the ``build ID'' name. New binaries build instructions for the
build ID inclusion. Explain how the commands are specific to the build
ID vs. debug link.
--- gdb/NEWS 28 Aug 2007 19:57:11 -0000 1.236
+++ gdb/NEWS 1 Sep 2007 13:06:23 -0000
@@ -61,6 +61,9 @@ Windows and SymbianOS).
* The GDB remote stub, gdbserver, now supports dynamic link libraries
(DLLs) on Windows and Windows CE targets.
+* GDB now supports a faster verification that a .debug file matches its binary
+according to its build-id signature, if the signature is present.
+
* New commands
set remoteflow
--- gdb/doc/gdb.texinfo 1 Sep 2007 10:28:25 -0000 1.426
+++ gdb/doc/gdb.texinfo 1 Sep 2007 13:06:32 -0000
@@ -11925,7 +11925,7 @@ only on some operating systems, notably
details about this feature, see
@uref{http://fedoraproject.org/wiki/Releases/FeatureBuildId, the
Fedora Project's description of the buid ID feature}.) The debug info
-file's name is not specified explicitly by the debug ID, but can be
+file's name is not specified explicitly by the build ID, but can be
computed from the build ID, see below.
@end itemize
@@ -11941,10 +11941,10 @@ directory, in a subdirectory whose name
directories of the executable's absolute file name.
@item
-For the ``debug ID'' method, @value{GDBN} looks in the
+For the ``build ID'' method, @value{GDBN} looks in the
@file{.build-id} subdirectory of the global debug directory for a file
named @file{@var{nn}/@var{nnnnnnnn}.debug}, where @var{nn} are the
-first 2 hex characters of the debug ID signature, and @var{nnnnnnnn}
+first 2 hex characters of the build ID signature, and @var{nnnnnnnn}
are the rest of the signature. (Real signatures are 32 or more
characters, not 10.)
@end itemize
@@ -12033,16 +12033,36 @@ following commands:
@smallexample
@kbd{objcopy --only-keep-debug foo foo.debug}
@kbd{strip -g foo}
-@kbd{objcopy --add-gnu-debuglink="foo.debug" "foo"}
@end smallexample
@noindent
These commands remove the debugging
-information from the executable file @file{foo}, place it in the file
-@file{foo.debug}, and leave behind a debug link in @file{foo}. Ulrich
-Drepper's @file{elfutils} package, starting with version 0.53, contains
+information from the executable file @file{foo} and place it in the file
+@file{foo.debug}. You can use the first, second or both methods to link the
+two files:
+
+@itemize @bullet
+@item
+The debug link method needs the following additional command to also leave
+behind a debug link in @file{foo}:
+
+@smallexample
+@kbd{objcopy --add-gnu-debuglink=foo.debug foo}
+@end smallexample
+
+Ulrich Drepper's @file{elfutils} package, starting with version 0.53, contains
a version of the @code{strip} command such that the command @kbd{strip foo -f
-foo.debug} has the same functionality as the three commands above.
+foo.debug} has the same functionality as the two separating commands and the
+one linking command above.
+
+@item
+Build ID gets embedded into the main executable using @code{ld --build-id} or
+the @value{NGCC} counterpart @code{gcc -Wl,--build-id}. Build ID support plus
+compatibility fixes for debug files separation are present in @sc{gnu} binary
+utilities (Binutils) since version 2.17.50.0.18.
+@end itemize
+
+@noindent
Since there are many different ways to compute CRC's for the debug
link (different polynomials, reversals, byte ordering, etc.), the
next prev parent reply other threads:[~2007-09-01 13:12 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-24 18:05 Jan Kratochvil
2007-08-24 18:20 ` Daniel Jacobowitz
2007-08-25 22:49 ` Jan Kratochvil
2007-08-25 23:58 ` Daniel Jacobowitz
2007-08-26 9:41 ` Jan Kratochvil
2007-08-31 9:38 ` Eli Zaretskii
2007-08-31 20:51 ` [patch approval?] " Jan Kratochvil
2007-08-31 21:12 ` Daniel Jacobowitz
2007-09-01 8:01 ` Eli Zaretskii
[not found] ` <20070901081934.GA31205@host0.dyn.jankratochvil.net>
2007-09-01 10:31 ` [patch] " Eli Zaretskii
2007-09-01 11:35 ` Jan Kratochvil
2007-09-01 12:15 ` Eli Zaretskii
2007-09-01 13:12 ` Jan Kratochvil [this message]
2007-09-01 13:25 ` Mark Kettenis
2007-09-01 14:22 ` Eli Zaretskii
2007-09-02 13:57 ` [patch approved?] [doc] " Jan Kratochvil
2007-09-02 17:49 ` Mark Kettenis
2007-09-02 19:38 ` Eli Zaretskii
2007-09-01 14:16 ` [patch] " Eli Zaretskii
2007-09-04 2:21 ` Roland McGrath
2007-09-04 3:23 ` Eli Zaretskii
2007-09-04 7:21 ` Roland McGrath
2007-09-15 9:52 ` Eli Zaretskii
2007-09-16 17:19 ` Roland McGrath
2007-08-25 22:48 ` Roland McGrath
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070901131212.GA32719@host0.dyn.jankratochvil.net \
--to=jan.kratochvil@redhat.com \
--cc=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
--cc=roland@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox