On 3/29/19 5:35 PM, Cindy-Sue Causey via lfs-dev wrote:
On 3/29/19, Daniel Schepler via lfs-dev
<[email protected]> wrote:
On Fri, Mar 29, 2019 at 9:00 AM Bruce Dubbs via lfs-dev
<[email protected]> wrote:
Just for comparison, Arch does not create .dbg files and does not use
--enable-gnu-build-id.

https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/glibc

On further examination, it looks like the actual gcc configure flag is
--enable-linker-build-id.  And I do see that being activated.

https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/gcc

I can't answer to the question of creating .dbg files.
--
Daniel Schepler


I'm out of my league here, but I'm stepping out on that very thin limb
(again) because you mentioned "dbg". I had already been attempting
some more self-education with previous knowledge of existing "-dbg"
archives in mind as I searched around.

In response to the currently very last post in this LFS thread, I just
found the following about generating dbg packages as written by a
self-described "student":

https://people.debian.org/~osamu/fun2prog.html#_detached_debugging_symbols

Found a few other things while searching around to see if I was at
least partially understanding your conversation here. That was
well-spent time because I've installed "-dbg" files that were
"Suggested" packages, just never had a usage case to actually work
with them to know their importance.

I just tried a Debian "apt-cache search dbg" and received back a HUGE
list in response. Most end in that "-dbg" and then several end with
"-dev". When "gcc" is included in that search (solely because it's
mentioned in this thread), "libgcc1-dbg" popped up with an extremely
short description:

"Description-en: GCC support library (debug symbols)
  Debug symbols for the GCC support library."

In trying to further self-educate about your current discussion, I
next tried an Internet search for "debian install package debugging
information".

 From Debian: AutomaticDebugPackages (presents itself as tl;dr version)..

https://wiki.debian.org/AutomaticDebugPackages

My initial grasp is that at least some find community available "-dbg"
files to be underused and overly mirrored thus wasting precious
volunteer mirror disk space. Additionally, it is suggested that
necessary *manual* attention to separate dbg packages' existences is a
potential or real waste of time and resources.

Ubuntu pulled up separately for that same Internet search...

https://wiki.ubuntu.com/Debug%20Symbol%20Packages

I next tried the originally proffered "enable-gnu-build-id". That
search suggested "enabled-gnu-build-id" which did NOT work. In fact,
neither did, and I now see that's been updated. On a whim, though, I
used just "gnu-build-id" which brought up Redhat in with others
sounding possibly at least slightly on topic.

If I'm completely off-track, my apologies. That reference to .dbg
packages empowered me to go ahead and poke my nose in. Maybe something
in the above will help one way or the other since there are more than
a few references to dbg packages and debugging. :)

Cindy :)
* going back into lurk-n-learn mode *

Thank you for your input.

One thing users need to understand is what debugging symbols are. They are used by developers, usually via the gnu debugger gdb, to associate source lines of code with the associated binary executable code.

In LFS we strip out debugging symbols at the end of Chapter 6 to save space and incrementally decrease loading time. Usually the symbols are much larger than the actual code. For example

-rwxr-xr-x 1 root root 1.8M Feb  7 03:39 /lib/libc-2.29.so
-rwxr-xr-x 1 root root  17M Feb  7 03:39 /lib/libc-2.29.so.dbg

See http://www.linuxfromscratch.org/lfs/view/stable/chapter06/strippingagain.html

Most packages in LFS and BLFS build with debugging information included. That's why we give stripping information again in BLFS:

http://www.linuxfromscratch.org/blfs/view/stable/introduction/notes-on-building.html#stripping

Normally separate .dbg files are only used when the base package is loaded by the debugger, but if not stripped out, are loaded if they are included in the base file.

Also note that in your references you give are to commercial distros like fedora, ubuntu, debian, etc. They generally break library packages into parts and do not install the -dev (packages wih headers, .pc files, etc) or .dbg files by default. Indeed most distros I see don't install many build tools either (gcc, make, autotools, etc) by default.

For LFS, we keep a few .dbg files around for users that run regression tests when building packages. Some packages need these .dbg files, but only when running tests.

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to