On Mon, 30 Oct 2017, Jakub Jelinek wrote: > On Mon, Oct 30, 2017 at 01:48:00PM +0100, Richard Biener wrote: > > > > The following fixes the gold linker still recognizing LTO bytecode > > via an UNDEF __gnu_lto_* symbol. So on "removal" of the symbol > > make sure to strip two leading _s. > > > > Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. > > Doesn't that make a gnu_lto_* symbol defined in the same shared library or > binary hidden, even when not hidden in the source? Or are there . or $ > characters in the name that make that impossible?
Asked Alan the same question and he said "Of course on x86_64, you'll start off with "__gnu_lto_", skip two chars to give "gnu_lto_", which also ought to be fine. Even if it matches some user symbol." I also said that I'll likely end up writing proper symbol removal code ... (but not during stage1). Richard.