source: chapter06/aboutdebug.xml@ a4a7eff

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 v3_0 v3_1 v3_2 v3_3 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 a4a7eff was a4a7eff, checked in by Mark Hymers <markh@…>, 23 years ago

Bug 116: Change lfs-hints URLs - also added entity

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@900 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
4<para>Most programs and libraries by default are compiled with debugging
5symbols (gcc option -g) Let me explain what these debugging symbols
6are and why you may not want them.</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.2MB</para></listitem>
21
22<listitem><para>A dynamic Bash binary
23without debugging symbols: 478KB</para></listitem>
24
25<listitem><para>/lib and /usr/lib (glibc
26and gcc files) with debugging symbols: 87MB</para></listitem>
27
28<listitem><para>/lib and /usr/lib (glibc
29and gcc files) without debugging symbols: 16MB</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. After
36I was done with this chapter and stripped all debugging symbols from all LFS
37binaries I regained a little over 102 MB of disk space. Quite the
38difference.</para>
39
40<para>To remove debugging symbols from a binary (must be an a.out or ELF
41binary) run <userinput>strip --strip-debug filename</userinput>. Wild cards
42can be used to strip debugging symbols from multiple files (use something
43like <userinput>strip --strip-debug $LFS/usr/bin/*</userinput>).
44Most people will probably never use a debugger on software, so by
45removing those symbols a lot of disk space can be regained.</para>
46
47<para>You might find additional information in the optimization hint which can
48be found at <ulink
49url="&hint-root;optimization.txt">&hint-root;optimization.txt</ulink>
50.</para>
51
52</sect1>
53
Note: See TracBrowser for help on using the repository browser.