https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65536
--- Comment #40 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Manuel, the following way you get the lto1 invocation: jan@linux-qos1:~> gcc t.c -flto -O2 -c jan@linux-qos1:~> gcc t.o -flto -O2 --verbose -save-temps 2>&1 | grep lto1 /usr/lib64/gcc/x86_64-suse-linux/4.8/lto1 -quiet -dumpbase t.o -mtune=generic -march=x86-64 -mtune=generic -march=x86-64 -auxbase t -O2 -version -fltrans-output-list=/tmp/ccbfSrzR.ltrans.out -fwpa -fresolution=t.res @/tmp/ccSRKmvR /usr/lib64/gcc/x86_64-suse-linux/4.8/lto1 -quiet -dumpbase ccbfSrzR.ltrans0.o -mtune=generic -march=x86-64 -mtune=generic -march=x86-64 -auxbase-strip /tmp/ccbfSrzR.ltrans0.ltrans.o -O2 -version -fltrans-output-list=/tmp/ccbfSrzR.ltrans.out -fltrans @/tmp/cccTxW0P -o ccbfSrzR.ltrans0.s For proper LTO you need a linker with plugin support check: jan@linux-qos1:~> ld --help | grep plugin -plugin PLUGIN Load named plugin -plugin-opt ARG Send arg to last-loaded plugin There is a path in linemap_add_line that does not increase locator, but it is bit bogus. I am playing with patch to improve this.