source: chapter06/aboutdebug.xml@ a2cd10f

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 a2cd10f was ca6391e, checked in by Gerard Beekmans <gerard@…>, 22 years ago

added sentence about stripping /static before beginning if low on disk space

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

  • Property mode set to 100644
File size: 2.1 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>).
41Most people will probably never use a debugger on software, so by
42removing those 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 all programs and libraries on your
46system. If you are short on diskspace you can start with stripping
47all the files under <filename class="directory">$LFS/static</filename></para>
48
49<para>You might find additional information in the optimization hint which can
50be found at <ulink url="&hints-root;optimization.txt"/>.</para>
51
52</sect1>
53
Note: See TracBrowser for help on using the repository browser.