source: chapter06/aboutdebug.xml@ 54eee9df

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.0 6.1 6.1.1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk v4_0 v4_1 v5_0 v5_1 v5_1_1 xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 54eee9df was 54eee9df, checked in by Timothy Bauscher <timothy@…>, 22 years ago

Fix man bug, added a CC variable to omit symbols from compilation in static packages.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2077 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 2.0 KB
Line 
1<sect1 id="ch06-aboutdebug">
2<title>About debugging symbols</title>
3<?dbhtml filename="aboutdebug.html" dir="chapter06"?>
4
5<para>Most programs and libraries by default are compiled with debugging
6symbols (gcc option -g).</para>
7
8<para>A program compiled with debugging symbols means a user can run a program
9or library through a debugger and the debugger's output will be user
10friendly. These debugging symbols also enlarge the program or library
11significantly.</para>
12
13<para>Before you start wondering whether these debugging symbols really make a
14big difference, here are some statistics. Use them to draw your own
15conclusion.</para>
16
17<itemizedlist>
18
19<listitem><para>A dynamic Bash binary
20with debugging symbols: 1.2 MB</para></listitem>
21
22<listitem><para>A dynamic Bash binary
23without debugging symbols: 478 KB</para></listitem>
24
25<listitem><para>/lib and /usr/lib (glibc
26and gcc files) with debugging symbols: 87 MB</para></listitem>
27
28<listitem><para>/lib and /usr/lib (glibc
29and gcc files) without debugging symbols: 16 MB</para></listitem>
30
31</itemizedlist>
32
33<para>Sizes vary depending on which compiler was used and which C library
34version was used to link dynamic programs against, but results will be
35similar if you compare programs with and without debugging symbols.</para>
36
37<para>To remove debugging symbols from a binary (must be an a.out or ELF
38binary) run <userinput>strip --strip-debug filename</userinput>. Wildcards
39can be used to strip debugging symbols from multiple files (use something
40like <userinput>strip --strip-debug $LFS/usr/bin/*</userinput>). Most
41people will probably never use a debugger on software, so by removing
42those symbols a lot of disk space can be regained.</para>
43
44<para>For your convenience, chapter 9 includes one simple command to strip
45all debugging symbols from the programs and libraries on your system. You
46might find additional information in the optimization hint which can be
47found at <ulink url="&hints-root;optimization.txt"/>.</para>
48
49</sect1>
50
Note: See TracBrowser for help on using the repository browser.