aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/aboutdebug.xml
diff options
context:
space:
mode:
authorMatthew Burgess <matthew@linuxfromscratch.org>2004-05-03 10:59:46 +0000
committerMatthew Burgess <matthew@linuxfromscratch.org>2004-05-03 10:59:46 +0000
commit673b0d84ba9591e07c0bdf0ee49d92eba10f502c (patch)
tree129e27a1450727b440da4378e0117a468eb9c25e /chapter06/aboutdebug.xml
parent287ea55da70ceb1f0990554b7db921d525fef816 (diff)
* Merged newxml into HEAD
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3435 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter06/aboutdebug.xml')
-rw-r--r--chapter06/aboutdebug.xml46
1 files changed, 46 insertions, 0 deletions
diff --git a/chapter06/aboutdebug.xml b/chapter06/aboutdebug.xml
new file mode 100644
index 000000000..32798c78b
--- /dev/null
+++ b/chapter06/aboutdebug.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+<sect1 id="ch-system-aboutdebug">
+<title>About debugging symbols</title>
+<?dbhtml filename="aboutdebug.html"?>
+
+<para>Most programs and libraries are, by default, compiled with debugging
+symbols included (with <command>gcc</command>'s <emphasis>-g</emphasis>
+option). This means that, when debugging a program or library that was compiled
+with debugging information included, the debugger can give you not only memory
+addresses but also the names of the routines and variables.</para>
+
+<para>The inclusion of these debugging symbols, however, enlarges a program or
+library significantly. To get an idea of the amount of space these symbols
+occupy, have a look at the following:</para>
+
+<itemizedlist>
+
+<listitem><para>a bash binary
+with debugging symbols: 1200 KB</para></listitem>
+
+<listitem><para>a bash binary
+without debugging symbols: 480 KB</para></listitem>
+
+<listitem><para>Glibc and GCC files (/lib and /usr/lib)
+with debugging symbols: 87 MB</para></listitem>
+
+<listitem><para>Glibc and GCC files
+without debugging symbols: 16 MB</para></listitem>
+
+</itemizedlist>
+
+<para>Sizes may vary somewhat, depending on which compiler was used and which C
+library, but when comparing programs with and without debugging symbols the
+difference will generally be a factor between 2 and 5.</para>
+
+<para>As most people will probably never use a debugger on their system
+software, a lot of disk space can be regained by removing these symbols. For
+your convenience, the next section shows how to strip all debugging symbols
+from all programs and libraries. Information on other ways of optimizing your
+system can be found in the hint at <ulink url="&hints-root;optimization.txt"/>.</para>
+
+</sect1>