https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63758
--- Comment #3 from Iain Sandoe <iains at gcc dot gnu.org> --- I'm not disputing that the code is wrong… … and the change that you've put forward looks reasonable. However, I'm not finding it easy to reproduce any failure - I've got a cross from darwin12 => x86-64-linux-gnu with gold-enabled binutils. There's no failure at either build-time or runtime for the liblto plugin. This is not entirely surprising (at least on the host I've tried), since the plugin is linked with -Wl,-undefined,dynamic_lookup. This means that _environ will be resolved from the executable. So I'm interested in how to reproduce the effect you show in c#1