The best part about "the good old days of computing": they are in the past.
Are my posts not showing up?
the current state of gcc as used in the arduino environment:
- unused functions and data are "garbage collected" during link. It's never been entirely clear to me whether C++ allows an accurate determination of all the functions that are unused, but the link operation does remove a lot of functions that are obviously not used. This is the "-Wl,--gc-sections" part
- In addition, the build now uses "link time optimization" that moves a lot of the compiler optimization that used to only work on a single source module (inlining decisions, for example) down into the linker. I think this is the same thing that other compiler vendors have called "whole program optimization" This is the "-flto" option.