On Wed, 21 May 2014, Jan Hubicka wrote: > I tought glibc uses handcoded local aliases for all its exported symbols > except > for those where interposition is allowed.
It does that for exported symbols. But there are lots of non-exported __* functions used internally - and while some are declared hidden (or use the facility for hidden aliases), I suspect lots are not, so it's only the linker scripts that default-hide symbols that result in them not being interposable (and I'm guessing this effect of a linker script is too late for LTO to optimize based on that information). -- Joseph S. Myers jos...@codesourcery.com