La plupart des programmes et des bibliothèques sont compilés, par défaut,
en incluant les symboles de déboguage (avec l'option -g
de gcc). Ceci signifie que, lors du déboguage d'un programme
ou d'une bibliothèque compilé avec les informations de déboguage, le débogueur
peut vous donner non seulement les adresses mémoire mais aussi les noms des
routines et variables.
Néanmoins, l'intégration de ces symboles de déboguage font grossir le programme ou la bibliothèque de façon significative. Ce qui suit est un exemple de l'espace occupé par ces symboles :
un binaire bash avec les symboles de déboguage : 1200 Ko
un binaire bash sans les symboles de déboguage : 480 Ko
les fichiers Glibc et GCC (/lib
et /usr/lib
) avec les symboles de déboguage :
87 Mo
les fichiers Glibc et GCC sans les symboles de déboguage : 16 Mo
Les tailles peuvent varier suivant le compilateur et la bibliothèque C utilisés mais, lors d'une comparaison de programmes avec et sans symboles de déboguages, la différence sera généralement d'un facteur de deux à cinq.
Comme la plupart des gens n'utiliseront jamais un débogueur sur leur système, beaucoup d'espace disque peut être gagné en supprimant ces symboles. La prochaine section montre comment supprimer tous les symboles de déboguage des programmes et bibliothèques. Des informations supplémentaires sur l'optimisation du système sont disponibles sous forme d'astuce sur http://www.linuxfromscratch.org/hints/downloads/files/optimization.txt.