By default, an executable contains all code and data of its objects (directly linked or coming from statically linked libraries), even data or code never used by this executable. This feature eliminates such unused code from your executable, thus making it smaller (in disk and in memory).
You can use this functionality on all Linux platforms except for the IA-64 architecture and on all cross platforms using the ELF binary file format. In both cases, GNU binutils version 2.16 or later are required to enable it.