https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83967
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |lto, wrong-code Target| |arm Status|UNCONFIRMED |WAITING Last reconfirmed| |2018-01-22 CC| |rguenth at gcc dot gnu.org Host| |x86_64-linux Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- If you have two weak definitions it is undefined which one takes precedence. If the C project variant (that gets removed?) is not weak the linker should have made it used. But this is only going to work if you build with a linker plugin - so can you double check that (for example pass -fuse-linker-plugin to the link step?). In any case we'd need something like a testcase to confirm/investigate. Please also specify the linker you are using. I assume you are cross compiling from x86_64-linux?