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