diff options
Diffstat (limited to 'chapter06/aboutdebug.xml')
-rw-r--r-- | chapter06/aboutdebug.xml | 63 |
1 files changed, 23 insertions, 40 deletions
diff --git a/chapter06/aboutdebug.xml b/chapter06/aboutdebug.xml index 094398e2f..b743aa9ab 100644 --- a/chapter06/aboutdebug.xml +++ b/chapter06/aboutdebug.xml @@ -1,70 +1,53 @@ <sect1 id="ch06-aboutdebug"> <title>About debugging symbols</title> -<para> -Most programs and libraries by default are compiled with debugging +<para>Most programs and libraries by default are compiled with debugging symbols (gcc option -g) Let me explain what these debugging symbols -are and why you may not want them. -</para> +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 +<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 friendly. These debugging symbols also enlarge the program or library -significantly. -</para> +significantly.</para> -<para> -Before you start wondering whether these debugging symbols really make a +<para>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> +conclusion.</para> <itemizedlist> -<listitem><para> - A dynamic Bash binary with debugging symbols: 1.2MB -</para></listitem> +<listitem><para>A dynamic Bash binary +with debugging symbols: 1.2MB</para></listitem> -<listitem><para> - A dynamic Bash binary without debugging symbols: 478KB -</para></listitem> +<listitem><para>A dynamic Bash binary +without debugging symbols: 478KB</para></listitem> -<listitem><para> - /lib and /usr/lib (glibc and gcc files) with debugging - symbols: 87MB -</para></listitem> +<listitem><para>/lib and /usr/lib (glibc +and gcc files) with debugging symbols: 87MB</para></listitem> -<listitem><para> - /lib and /usr/lib (glibc and gcc files) without - debugging symbols: 16MB -</para></listitem> +<listitem><para>/lib and /usr/lib (glibc +and gcc files) without debugging symbols: 16MB</para></listitem> </itemizedlist> -<para> -Sizes vary depending on which compiler was used and which C library +<para>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 you compare programs with and without debugging symbols. After I was done with this chapter and stripped all debugging symbols from all LFS -binaries I regained a little over 102 MB of disk space. Quite the difference. -</para> +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 +<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 disk space can be regained. -</para> +removing those symbols a lot of disk space can be regained.</para> -<para> -You might find additional information in the optimization hint which can +<para>You might find additional information in the optimization hint which can be found at <ulink -url="http://archive.linuxfromscratch.org/lfs-hints/optimization.txt"> -http://archive.linuxfromscratch.org/lfs-hints/optimization.txt</ulink>. -</para> +url="http://archive.linuxfromscratch.org/lfs-hints/optimization.txt">http://archive.linuxfromscratch.org/lfs-hints/optimization.txt</ulink> +.</para> </sect1> |