http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52812

             Bug #: 52812
           Summary: --enable-targets=all --with-multilib-list=m32,m64,mx32
                    doesn't work with i686-linux
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: hjl.to...@gmail.com


When configured with

--enable-targets=all --with-multilib-list=m32,m64,mx32 i686-linux

bootstrap failed with

libtool: compile:  /export/build/gnu/gcc-x32-32bit/build-i686-linux/./gcc/xgcc
-B/export/build/gnu/gcc-x32-32bit/build-i686-linux/./gcc/
-B/usr/gcc-4.8.0-x32/i686-linux/bin/ -B/usr/gcc-4.8.0-x32/i686-linux/lib/
-isystem /usr/gcc-4.8.0-x32/i686-linux/include -isystem
/usr/gcc-4.8.0-x32/i686-linux/sys-include -DHAVE_CONFIG_H -I.
-I/net/gnu-6/export/gnu/import/git/gcc-x32/libgomp
-I/net/gnu-6/export/gnu/import/git/gcc-x32/libgomp/config/linux/x86
-I/net/gnu-6/export/gnu/import/git/gcc-x32/libgomp/config/linux
-I/net/gnu-6/export/gnu/import/git/gcc-x32/libgomp/config/posix
-I/net/gnu-6/export/gnu/import/git/gcc-x32/libgomp -Wall -Werror
-ftls-model=initial-exec -march=i486 -pthread -mtune=i686 -g -O2 -mx32 -MT
barrier.lo -MD -MP -MF .deps/barrier.Tpo -c
/net/gnu-6/export/gnu/import/git/gcc-x32/libgomp/barrier.c  -fPIC -DPIC -o
.libs/barrier.o
/net/gnu-6/export/gnu/import/git/gcc-x32/libgomp/barrier.c:1:0: error: CPU you
selected does not support x86-64 instruction set

The problem are libgomp/configure.tgt has

    # Note that bare i386 is not included here.  We need cmpxchg.
    i[456]86-*-linux*)
        config_path="linux/x86 linux posix"
        case " ${CC} ${CFLAGS} " in
          *" -m64 "*)
            ;;
          *)
            if test -z "$with_arch"; then
              XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
            fi  
        esac
        ;;  

and libitm/configure.tgt has

  i[3456]86)
        case " ${CC} ${CFLAGS} " in
          *" -m64 "*)
            ;;  
          *)  
            if test -z "$with_arch"; then
              XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
              XCFLAGS="${XCFLAGS} -fomit-frame-pointer"
            fi  
        esac
        ARCH=x86
        ;;  

-mx32 case is missing.

Reply via email to