https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78984
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Hack that still works and I'm using daily is a directory with as, g++, gcc and ld files as follows: as: #!/bin/sh exec /usr/bin/as --32 "$@" g++: #!/bin/sh exec /usr/bin/g++ -m32 "$@" gcc: #!/bin/sh exec /usr/bin/gcc -m32 "$@" ld: #!/bin/sh case "$*" in --version) cat <<\EOF GNU ld version 2.20.52.0.1-10.fc17 20100131 Copyright 2012 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty. EOF exit 0;; esac exec /usr/bin/ld -m elf_i386 -L /usr/lib/ "$@" Then just PATH=/that/dir:$PATH i386 .../configure etc. The ld --version ensures the LTO plugin isn't built in the 32-bit bootstrap. Or you could replace as/ld here with ones from 32-bit build of binutils.