On Jun 5, 2008, at 2:03 PM, Ian Lance Taylor wrote:
Nick Kledzik <[EMAIL PROTECTED]> writes:
How does the linker tell LTO that a symbol may be inlined, but must
also be externally visible?
The linker just tells LTO which symbols must remain. The LTO engine
is free to inline anything that would improve codegen, with the
exception
that any weak definition that must remain (preserved) cannot be
inlined.
I'll just note that that isn't optimal for ELF when producing an
executable.
Why? Because you have to touch (worst case) every symbol? The cost of
doing LTO *dramatically* dwarfs the cost of touching symbols
once. :) You're right this could be improved, and we're actively
working on it... but it seems like a strange thing to worry about vs
correctness in all cases.
-Chris