La plupart des programmes et des bibliothèques sont compilés, par défaut,
en incluant les symboles de débogage (avec l'option -g
de gcc). Ceci signifie que, lors du débogage d'un programme
ou d'une bibliothèque compilé avec les informations de débogage, 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ébogage 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ébogage : 1200 Ko
un binaire bash sans les symboles de débogage : 480 Ko
les fichiers Glibc et GCC (/lib
et /usr/lib
) avec les symboles de débogage :
87 Mo
les fichiers Glibc et GCC sans les symboles de débogage : 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ébogages, 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ébogage 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.