On Wed, Feb 4, 2015 at 4:48 AM, Russell King - ARM Linux linux@arm.linux.org.uk wrote:
Moreover, __weak is positively harmful when you consider it adds bloat and dead code - the overriden __weak function is left behind in the resulting final image.
Huh, I didn't realize that. Is that a linker bug, or is there some reason the weak function has to be in the final image? I tried a trivial test on x86 with gcc-4.8.2/ld-2.24, and I think the weak function text was omitted, but a string constant used only by the weak function was included.
Bjorn