On Fri, Dec 21, 2012 at 10:50:58AM +0100, Richard Biener wrote: > On Fri, Dec 21, 2012 at 6:33 AM, Alexandre Oliva <aol...@redhat.com> wrote: > > libmudflap emits a global initializer that registers memory ranges for > > global data symbols. However, even if IPA decides not to emit a symbol > > because it's unused, we'd still emit registration sequences for them in > > some cases, which, in the PR testcase, would result in TOC references to > > the undefined symbols. > > > > This patch fixes the problem, avoiding registration for symbols that are > > not present in the varpool. > > > > Regstrapped on x86_64-linux-gnu and i686-linux-gnu; I've also verified > > that it removes the TOC references on a ppc64-linux-gnu cross. > > > > Ok to install? > > Hmm, I think that at this point of the compilation you are looking for > TREE_ASM_WRITTEN instead. I'm not sure we will never end up > having a symtab node that not ends up being emitted.
Yeah, asan.c also tests TREE_ASM_WRITTEN and doesn't register !TREE_ASM_WRITTEN decls for instrumentation. Jakub