News for hackers. Stuff that matters.
Re:Inside the Linker (2012) by comex on Friday July 13, 2018 @03:24PM (#17525908)
Only if the symbol is exported, but in that case it won’t be removed even if -dead_strip is used.

As userbinator noted, Unix has an awful tradition of exporting most symbols by default, which is also in effect on macOS. The modern approach is to pass -fvisibility=hidden to the compiler, which changes the default to unexported, and then mark symbols that are supposed to be exported with __attribute__((visibility(“default”))). Alternately, there’s a Darwin-specific ld option (-exported_symbols_list) where you write a list of names to export in a separate text file, and everything else is forced to be unexported.

There are no comments on this comment yet.