I'm experiencing an issue where my build performs fully as expected when I don't use C++ virtual methods. As soon as I use a single virtual method, the compiler starts retaining all of the stdio symbols (printf, fputs, etc...) adding ~4K of .text code size to my project. My project is quite small (~1K of .text), and I have verified that there are no references to any stdio methods in my code. This also occurs if the virtual method(s) are empty functions.
Thanks,
Stuart