https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84923
--- Comment #4 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> --- (In reply to Richard Biener from comment #3) > For x86_64 if I append > > const int *dat[] = { &Wv12, &wv12 }; > > the testcase links fine irrespective of where I place the > > .weakref Wv12,wv12 > .weak wv12 > > assembler declarations. > > When I look at the assembler generated by a cross from x86_64 I do not > see any .weak wv12 directive which is likely the issue. Yep, the .weak wv12 directive is the one that disappears. Putting that back in by hand fixes the issue.