[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