.. -*- coding: utf-8; -*-===== GCC=====.. contents:: :local:Remove dead code================:: STRIP_DEAD_CODE = -Wl,-static -fvtable-gc -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-s``-Wl,-static`` Link against static libraries. Required for dead-code elimination.``-fvtable-gc`` C++ virtual method table instrumented with garbage collection information for the linker.``-fdata-sections`` Keeps data in separate data sections, so they can be discarded if unused.``-ffunction-sections`` Keeps funcitons in separate data sections, so they can be discarded if unused.``-Wl,--gc-sections`` Tell the linker to garbage collect and discard unused sections.``-s`` Strip the debug information, so as to make the code as small as possible. (I presume that you'd want to do this in a dead-code removal build.)Map file========:: $ ld -Map=file.map <opts> <files>or:: $ gcc -Wl,-Map=file.map <opts> <files>Predefined macros=================:: $ gcc -arch ppc -dM -E - < /dev/null | sortDefault search path===================:: $ echo | gcc -v -x c -E - $ gcc -print-search-dirs install: ... programs: ... libraries: ...Use ``-###`` in actual invoking:: $ gcc -### -o foo foo.c $ ld --verbose | grep SEARCH_DIR``LIBRARY_PATH`` and ``LD_LIBRARY_PATH``:: $ cpp -Wp,-v $ cpp -Wp,-lang-c++,-v $ cpp -x c++ -Wp,-v