Уменьшает хранение ненужной информации о символах, которая является частной для общих объектов.
Рассмотрим общий объект, который имеет более 10 000 символов (функций / глобальных переменных), но только 100 из них были открытыми функциями, доступными изпользователи библиотеки.Мы можем сделать только 100 функций видимыми для других, а оставшиеся 9900 символов - как частные.
Это также уменьшит размер разделяемого объекта, потому что это таблица перемещения будет иметь только 100 символов информации.Использование этого флага вместе с -ffunction-section -fdata-section еще больше уменьшит размер общего объекта, имея определение, относящееся к этим 100 символам.