Про отладочные символы

Большинство программ и библиотек по умолчанию компилируются с символами отладки (с опцией -g для gcc).

Когда отлаживается программа или библиотека, которая была собрана с включением отладочной информации, то отладчик может передать вам не только адреса в памяти, но и имена переменных и функций.

Но исключение отладочных символов существенно уменьшает размер программы или библиотеки. Чтобы получить представление о том, сколько места занимает отладочная информация, посмотрите следующее:

Размер может немного варьироваться в зависимости от используемых компилятора и библиотеки C. Но размер между программами и библиотеками, собранными с отладочной информацией и без таковой может различаться в 2-5 раз.

Большинство людей никогда не используют отладчик, и довольно много места на диске освободится при удалении отладочных символов.

Для удаления отладочных символов из бинарников (которые должны быть бинарниками форматов a.out или ELF), запустите strip --strip-debug filename. Могут использоваться шаблоны для выбора нескольких файлов (например, strip --strip-debug $LFS/tools/bin/*).

Для вашего удобства, Глава 9 включает одну простую команду для удаления всех отладочных символов изо всех программ и библиотек в вашей системе. Дополнительную информацию по оптимизации можно получить на http://www.linuxfromscratch.org/hints/downloads/files/optimization.txt.