Bug 52784 - i386-apple-darwin multilib bootstrap broken
Summary: i386-apple-darwin multilib bootstrap broken
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 4.8.0
: P3 normal
Target Milestone: 4.8.0
Assignee: H.J. Lu
URL: http://gcc.gnu.org/ml/gcc-patches/201...
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-30 00:29 UTC by Jack Howarth
Modified: 2012-04-03 18:27 UTC (History)
4 users (show)

See Also:
Host:
Target: i386 --enable-targets=all
Build:
Known to work:
Known to fail:
Last reconfirmed: 2012-03-30 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jack Howarth 2012-03-30 00:29:34 UTC
At r185971, the multi lib bootstrap on i386-apple-darwin is broken...

Adding multilib support to Makefile in ../../../gcc-4.8-20120329/libgcc
multidirs=x86_64
with_multisubdir=
Running configure in multilib subdirs x86_64
pwd: /sw_i386/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/i386-apple-darwin10.8.0/libgcc
Running configure in multilib subdir x86_64
pwd: /sw_i386/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/i386-apple-darwin10.8.0
mkdir x86_64
configure: creating cache ./config.cache
checking build system type... i386-apple-darwin10.8.0
checking host system type... i386-apple-darwin10.8.0
checking for --enable-version-specific-runtime-libs... no
checking for a BSD-compatible install... /usr/bin/install -c
checking for gawk... gawk
checking for i386-apple-darwin10.8.0-ar... ar
checking for i386-apple-darwin10.8.0-lipo... lipo
checking for i386-apple-darwin10.8.0-nm... /sw_i386/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/./gcc/nm
checking for i386-apple-darwin10.8.0-ranlib... ranlib
checking for i386-apple-darwin10.8.0-strip... strip
checking whether ln -s works... yes
checking for i386-apple-darwin10.8.0-gcc... /sw_i386/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/./gcc/xgcc -B/sw_i386/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/./gcc/ -B/sw_i386/lib/gcc4.8/i386-apple-darwin10.8.0/bin/ -B/sw_i386/lib/gcc4.8/i386-apple-darwin10.8.0/lib/ -isystem /sw_i386/lib/gcc4.8/i386-apple-darwin10.8.0/include -isystem /sw_i386/lib/gcc4.8/i386-apple-darwin10.8.0/sys-include  -m64
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /sw_i386/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/./gcc/xgcc -B/sw_i386/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/./gcc/ -B/sw_i386/lib/gcc4.8/i386-apple-darwin10.8.0/bin/ -B/sw_i386/lib/gcc4.8/i386-apple-darwin10.8.0/lib/ -isystem /sw_i386/lib/gcc4.8/i386-apple-darwin10.8.0/include -isystem /sw_i386/lib/gcc4.8/i386-apple-darwin10.8.0/sys-include  -m64 accepts -g... no
checking for /sw_i386/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/./gcc/xgcc -B/sw_i386/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/./gcc/ -B/sw_i386/lib/gcc4.8/i386-apple-darwin10.8.0/bin/ -B/sw_i386/lib/gcc4.8/i386-apple-darwin10.8.0/lib/ -isystem /sw_i386/lib/gcc4.8/i386-apple-darwin10.8.0/include -isystem /sw_i386/lib/gcc4.8/i386-apple-darwin10.8.0/sys-include  -m64 option to accept ISO C89... unsupported
checking how to run the C preprocessor... /sw_i386/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/./gcc/xgcc -B/sw_i386/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/./gcc/ -B/sw_i386/lib/gcc4.8/i386-apple-darwin10.8.0/bin/ -B/sw_i386/lib/gcc4.8/i386-apple-darwin10.8.0/lib/ -isystem /sw_i386/lib/gcc4.8/i386-apple-darwin10.8.0/include -isystem /sw_i386/lib/gcc4.8/i386-apple-darwin10.8.0/sys-include  -m64 -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking size of double... 8
checking size of long double... 16
checking whether decimal floating point is supported... no
configure: WARNING: decimal float is not supported for this target, ignored
checking whether fixed-point is supported... no
checking whether to use setjmp/longjmp exceptions... unknown
configure: error: unable to detect exception model
make[2]: *** [configure-stage1-target-libgcc] Error 1
make[1]: *** [stage1-bubble] Error 2

Build configure as...

  $ ../gcc-4.8-20120329/configure --prefix=/sw_i386 --prefix=/sw_i386/lib/gcc4.8 --mandir=/sw_i386/share/man --infodir=/sw_i386/lib/gcc4.8/info --enable-languages=c,c++,fortran,lto,objc,obj-c++,java --with-gmp=/sw_i386 --with-libiconv-prefix=/sw_i386 --with-ppl=/sw_i386 --with-cloog=/sw_i386 --with-mpc=/sw_i386 --with-system-zlib --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --program-suffix=-fsf-4.8 --enable-cloog-backend=isl
Comment 1 Jack Howarth 2012-03-30 01:39:14 UTC
Caused by...

Author: hjl
Date: Wed Mar 28 22:42:28 2012
New Revision: 185937

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=185937
Log:
Add ABI_64 and replace ISA_X32 with ABI_X32

2012-03-28  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Add
	OPTION_MASK_ABI_64.

	* config/i386/gnu-user64.h (SPEC_64): Support TARGET_BI_ARCH == 2.
	(SPEC_X32): Likewise.
	(MULTILIB_DEFAULTS): Likewise.

	* config/i386/i386.c (isa_opts): Remove -m64.
	(ix86_target_string): Properly handle -m32/-m64/-mx32.
	(ix86_option_override_internal): Properly
	set OPTION_MASK_ISA_64BIT and OPTION_MASK_ISA_X32 as well as
	handle -m32, -m64 and -mx32.

	* config/i386/i386.h (TARGET_X32): Replace OPTION_ISA_X32
	with OPTION_ABI_X32.  Moved after TARGET_LP64.
	(TARGET_LP64): Changed to OPTION_ABI_64.

	* config/i386/i386.opt (m64): Replace ISA_64BIT with ABI_64.
	(mx32): Replace ISA_X32 with ABI_X32.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/biarch64.h
    trunk/gcc/config/i386/gnu-user64.h
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/i386.h
    trunk/gcc/config/i386/i386.opt

Reverting this commit eliminates the multilib bootstrap failure on i386-apple-darwin10.
Comment 2 Rainer Orth 2012-03-30 15:10:38 UTC
Same on Solaris 10 and 11/x86.

Please fix.
  Rainer
Comment 3 H.J. Lu 2012-03-30 15:42:38 UTC
Mine.
Comment 4 H.J. Lu 2012-03-30 16:20:19 UTC
A patch is posted at

http://gcc.gnu.org/ml/gcc-patches/2012-03/msg01948.html
Comment 5 hjl@gcc.gnu.org 2012-03-31 21:03:42 UTC
Author: hjl
Date: Sat Mar 31 21:03:36 2012
New Revision: 186049

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=186049
Log:
Don't check TARGET_64BIT if TARGET_64BIT_DEFAULT is false

2012-03-31  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/52784
	* config/i386/i386.c (ix86_option_override_internal): Don't
	check TARGET_64BIT if TARGET_64BIT_DEFAULT is false.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.c
Comment 6 mrs@gcc.gnu.org 2012-04-03 18:27:23 UTC
Fixed.