This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
[RFC] cygport: split debuginfo packages
- From: "Yaakov (Cygwin/X)" <yselkowitz at users dot sourceforge dot net>
- To: cygwin-apps at cygwin dot com
- Date: Thu, 21 Jun 2012 01:24:36 -0500
- Subject: [RFC] cygport: split debuginfo packages
Attached is a first draft of a patch to support split debuginfo packages
automatically in cygport. I'm looking for comments and suggestions,
particularly on the following:
1) I propose adding a Debug category for all -debuginfo packages.
2) This places the debuginfo from e.g. /usr/bin/cygfoo-X.dll into
/usr/lib/debug/usr/bin/cygfoo-X.dbg. Unfortunately, when gdb finds
library dependencies, they show up as e.g.
/cygdrive/c/cygwin/bin/cygfoo-X.dll instead of as in /usr/bin, causing
gdb to not find the debug file. There are at least three solutions to this:
a. Fix (cygwin or) gdb to use /usr paths over /cygdrive/c/cygwin paths;
b. Move debug files to a .debug subdirectory (e.g.
/usr/bin/.debug/cygfoo-X.dbg);
c. Move debug files alongside binaries (e.g. /usr/bin/cygfoo-X.dbg).
3) Sources referenced by the .dbg files are placed under
/usr/src/debug/${PF}, as indicated by the -fdebug-prefix-map flags.
Unfortunately, this breaks in-tree debugging (e.g. a noinst test or
sample application). AFAICS, binutils doesn't support changing the
debug-prefix-map after the fact. Does anyone have any suggestions on
how to handle this?
4) The resulting binaries are somewhat larger, having only been
--strip-debug'ed; what more is lost by --strip-unneeded or --strip-all
to justify the larger binaries?
TIA,
Yaakov
Attachment:
0001-debuginfo.patch
Description: application/itunes-itlp