diff options
author | Gerard Beekmans <gerard@linuxfromscratch.org> | 2001-03-23 03:27:23 +0000 |
---|---|---|
committer | Gerard Beekmans <gerard@linuxfromscratch.org> | 2001-03-23 03:27:23 +0000 |
commit | abdeaad6a7dcba2b52d36a1b2de0667ffab6ca98 (patch) | |
tree | e03cd8c8d053a6b2770b6ace8feff8a51220994e /chapter06/aboutdebug.xml | |
parent | 4848808d6c4135d714ea04a396c702bd9337066e (diff) |
Text update
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@360 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter06/aboutdebug.xml')
-rw-r--r-- | chapter06/aboutdebug.xml | 47 |
1 files changed, 20 insertions, 27 deletions
diff --git a/chapter06/aboutdebug.xml b/chapter06/aboutdebug.xml index bad3e08fd..2550b729f 100644 --- a/chapter06/aboutdebug.xml +++ b/chapter06/aboutdebug.xml @@ -3,36 +3,21 @@ <para> Most programs and libraries by default are compiled with debugging -symbols and optimizing level 2 (gcc options -g and -O2) and are compiled -for a specific CPU. On Intel platforms software is compiled for i386 -processors by default. If a user doesn't wish to run software on other -machines other than his own, he might want to change the default -compiler options so that they will be compiled with a higher -optimization level, no debugging symbols and generate code for his -specific architecture. Let me first explain what debugging symbols -are. +symbols (gcc option -g) Let me explain what these debugging symbols +are and why you may not want them. </para> <para> A program compiled with debugging symbols means a user can run a program or -library through a debugger and the debugger's output will be user friendlier. -These debugging symbols also enlarge the program or library significantly. +library through a debugger and the debugger's output will be user +friendly. These debugging symbols also enlarge the program or library +significantly. </para> <para> -To remove debugging symbols from a binary (must be an a.out or ELF binary) -run <userinput>strip --strip-debug filename</userinput>. A user can use wild - cards -if he needs to strip debugging symbols from multiple files (use something like -strip --strip-debug $LFS/usr/bin/*). Another, easier, options is just -not to compile programs with debugging symbols. Most people will probably -never use a debugger on software, so by leaving those symbols out -a lot of diskspace can be saved. -</para> - -<para> -Before someone wonders if these debugging symbols would make a big difference, -here are some statistics: +Before you start wondering whether these debugging symbols really make a +big difference, here are some statistics. Use them to draw your own +conclusion. </para> <itemizedlist> @@ -58,12 +43,20 @@ here are some statistics: </itemizedlist> <para> -Sizes may vary depending on which compiler was used and which C library +Sizes vary depending on which compiler was used and which C library version was used to link dynamic programs against, but results will be -similar if a user compares programs with and without debugging symbols. After +similar if you compare programs with and without debugging symbols. After I was done with this chapter and stripped all debugging symbols from all LFS -binaries and libraries I regained a little over 102 MB of disk space. Quite -the difference. +binaries I regained a little over 102 MB of disk space. Quite the difference. +</para> + +<para> +To remove debugging symbols from a binary (must be an a.out or ELF +binary) run <userinput>strip --strip-debug filename</userinput>. Wild cards +can be used to strip debugging symbols from multiple files (use something +like <userinput>strip --strip-debug $LFS/usr/bin/*</userinput>). +Most people will probably never use a debugger on software, so by +removing those symbols a lot of diskspace can be regained. </para> </sect1> |