--- gcc-4.6.0/gcc/config.gcc.orig 2011-03-14 07:05:29.000000000 +0100 +++ gcc-4.6.0/gcc/config.gcc 2011-04-30 16:17:12.535045280 +0200 @@ -2529,7 +2529,7 @@ tmake_file="sparc/t-elf sparc/t-crtfm t-rtems" extra_parts="crtbegin.o crtend.o" ;; -sparc-*-linux*) +sparc-*-linux* | sparcv[789]*-*-linux*) tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h" extra_options="${extra_options} sparc/long-double-switch.opt" case ${target} in @@ -2623,7 +2623,7 @@ tmake_file="${tmake_file} sparc/t-crtfm t-rtems" extra_parts="crtbegin.o crtend.o" ;; -sparc64-*-linux*) +sparc64*-*-linux*) tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/linux64.h" extra_options="${extra_options} sparc/long-double-switch.opt" tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm" --- gcc-4.6.0/libgcc/config.host.orig 2011-03-14 07:06:23.000000000 +0100 +++ gcc-4.6.0/libgcc/config.host 2011-04-30 16:18:16.995047438 +0200 @@ -548,7 +548,7 @@ ;; sparc-*-elf*) ;; -sparc-*-linux*) # SPARC's running GNU/Linux, libc6 +sparc-*-linux* | sparcv[789]*-*-linux*) # SPARC's running GNU/Linux, libc6 extra_parts="$extra_parts crtfastmath.o" tmake_file="${tmake_file} sparc/t-crtfm" ;; @@ -564,7 +564,7 @@ ;; sparc64-*-freebsd*|ultrasparc-*-freebsd*) ;; -sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux +sparc64*-*-linux*) # 64-bit SPARC's running GNU/Linux extra_parts="$extra_parts crtfastmath.o" tmake_file="${tmake_file} sparc/t-crtfm" ;;