https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67002
--- Comment #12 from John Paul Adrian Glaubitz <glaubitz at physik dot fu-berlin.de> --- Update: Michael Karcher, who previously helped smashing some bugs in gcc for the SH target, had a go at this and he discovered that the difference between stage2 and stage3 is the -gtoggle switch. And, indeed, triggering this switch is responsible for the diff: root@tirpitz:/home/mkarcher> diff -u s2/real-stage2.o s3/real-stage3.o root@tirpitz:/home/mkarcher> diff -u s2/real-stage2.o s3-notoggle/real-stage3.o Binary files s2/real-stage2.o and s3-notoggle/real-stage3.o differ root@tirpitz:/home/mkarcher> He generated a lot of debug output during build with "-fdump-tree-all" and "-da": gccroot=/home/glaubitz/gcc-5-test_5.2.1-12/gcc-5-5.2.1 gccbuild=$gccroot/build $gccbuild/stage1-gcc/xg++ \ -B$gccbuild/stage1-gcc/ \ -B/usr/sh4-linux-gnu/bin/ -nostdinc++ \ -B$gccbuild/stage1-sh4-linux-gnu/libstdc++-v3/src/.libs \ -B$gccbuild/stage1-sh4-linux-gnu/libstdc++-v3/libsupc++/.libs \ -I$gccbuild/stage1-sh4-linux-gnu/libstdc++-v3/include/sh4-linux-gnu \ -I$gccbuild/stage1-sh4-linux-gnu/libstdc++-v3/include \ -I$gccroot/src/libstdc++-v3/libsupc++ \ -c -g -O2 -gtoggle -DIN_GCC \ -fno-exceptions -fno-rtti -fasynchronous-unwind-tables \ -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual \ -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings \ -DHAVE_CONFIG_H \ -I$gccbuild/stage2-gcc -I$gccroot/src/gcc -I$gccroot/src/include -I$gccroot/src/libcpp/include \ -I$gccroot/src/libdecnumber -I$gccroot/src/libdecnumber/dpd -I$gccbuild/libdecnumber \ -I$gccroot/src/libbacktrace \ -da -fdump-tree-all \ -o real-stage2.o $gccroot/src/gcc/real.c I'm collecting all the dumped output now and will upload. I will follow up with a download link quickly. Adrian