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

Reply via email to