[Bug bootstrap/55211] [4.8 regression] sparc64-linux bootstrap fails with SIGILL while compiling __mulvti3
ebotcazou at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Nov 5 22:08:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55211
--- Comment #15 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-11-05 22:08:00 UTC ---
> That configuration doesn't make any sense.
>
> It's going to pass -m64 down into the libgcc2 build, then
> the internal --with-cpu=v8 setting is going to override
> all that.
Nope, this is the standard Debian configuration and works fine. It's a pure
32-bit compiler like the sparc compiler, see config/sparc/linux64.h:
/* On Linux, the combination sparc64-* --with-cpu=v8 is supported and
selects a 32-bit compiler. */
#if defined(TARGET_64BIT_DEFAULT) && TARGET_CPU_DEFAULT >= TARGET_CPU_v9
#undef TARGET_DEFAULT
#define TARGET_DEFAULT \
(MASK_V9 + MASK_PTR64 + MASK_64BIT + MASK_STACK_BIAS + \
MASK_APP_REGS + MASK_FPU + MASK_LONG_DOUBLE_128)
#endif
/* Support for a compile-time default CPU, et cetera. The rules are:
--with-cpu is ignored if -mcpu is specified.
--with-tune is ignored if -mtune is specified.
--with-float is ignored if -mhard-float, -msoft-float, -mfpu, or -mno-fpu
are specified.
In the SPARC_BI_ARCH compiler we cannot pass %{!mcpu=*:-mcpu=%(VALUE)}
here, otherwise say -mcpu=v7 would be passed even when -m64.
CC1_SPEC above takes care of this instead. */
#undef OPTION_DEFAULT_SPECS
#if DEFAULT_ARCH32_P
#define OPTION_DEFAULT_SPECS \
{"cpu", "%{!m64:%{!mcpu=*:-mcpu=%(VALUE)}}" }, \
{"tune", "%{!mtune=*:-mtune=%(VALUE)}" }, \
{"float",
"%{!msoft-float:%{!mhard-float:%{!mfpu:%{!mno-fpu:-m%(VALUE)-float}}}}" }
#else
#define OPTION_DEFAULT_SPECS \
{"cpu", "%{!m32:%{!mcpu=*:-mcpu=%(VALUE)}}" }, \
{"tune", "%{!mtune=*:-mtune=%(VALUE)}" }, \
{"float",
"%{!msoft-float:%{!mhard-float:%{!mfpu:%{!mno-fpu:-m%(VALUE)-float}}}}" }
#endif
More information about the Gcc-bugs
mailing list