diff -Naur --exclude='*.info*' --exclude='*.texi' glibc-2.3.2-original/configure glibc-2.3.2/configure --- glibc-2.3.2-original/configure 2003-02-26 10:20:48.000000000 +0100 +++ glibc-2.3.2/configure 2004-06-21 11:27:36.000000000 +0200 @@ -1831,7 +1831,11 @@ sh3*) base_machine=sh machine=sh/sh3 ;; sh4*) base_machine=sh machine=sh/sh4 ;; sparc | sparcv[67]) - base_machine=sparc machine=sparc/sparc32 ;; + if test "$with_v8" = no; then + base_machine=sparc machine=sparc/sparc32 + else + base_machine=sparc machine=sparc/sparc32/sparcv8 + fi ;; sparcv8 | supersparc | hypersparc) base_machine=sparc machine=sparc/sparc32/sparcv8 ;; sparcv8plus | sparcv8plusa | sparcv9) diff -Naur --exclude='*.info*' --exclude='*.texi' glibc-2.3.2-original/configure.in glibc-2.3.2/configure.in --- glibc-2.3.2-original/configure.in 2003-02-26 01:46:31.000000000 +0100 +++ glibc-2.3.2/configure.in 2004-06-21 11:53:30.000000000 +0200 @@ -387,7 +387,11 @@ sh3*) base_machine=sh machine=sh/sh3 ;; sh4*) base_machine=sh machine=sh/sh4 ;; sparc | sparcv[67]) - base_machine=sparc machine=sparc/sparc32 ;; + if test "$with_v8" = no; then + base_machine=sparc machine=sparc/sparc32 + else + base_machine=sparc machine=sparc/sparc32/sparcv8 + fi ;; sparcv8 | supersparc | hypersparc) base_machine=sparc machine=sparc/sparc32/sparcv8 ;; sparcv8plus | sparcv8plusa | sparcv9) diff -Naur --exclude='*.info*' --exclude='*.texi' glibc-2.3.2-original/sysdeps/sparc/sparc32/Makefile glibc-2.3.2/sysdeps/sparc/sparc32/Makefile --- glibc-2.3.2-original/sysdeps/sparc/sparc32/Makefile 2001-07-07 21:21:29.000000000 +0200 +++ glibc-2.3.2/sysdeps/sparc/sparc32/Makefile 2004-06-21 11:27:42.000000000 +0200 @@ -16,6 +16,12 @@ # Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA # 02111-1307 USA. +ifeq ($(with-fp),no) ++cflags += -msoft-float -DNOFPU +sysdep-LDFLAGS += -msoft-float +endif + + ifeq ($(subdir),gnulib) sysdep_routines = dotmul umul $(divrem) alloca endif # gnulib diff -Naur --exclude='*.info*' --exclude='*.texi' glibc-2.3.2-original/sysdeps/sparc/sparc32/e_sqrt.c glibc-2.3.2/sysdeps/sparc/sparc32/e_sqrt.c --- glibc-2.3.2-original/sysdeps/sparc/sparc32/e_sqrt.c 2001-07-07 21:21:29.000000000 +0200 +++ glibc-2.3.2/sysdeps/sparc/sparc32/e_sqrt.c 2004-06-21 11:27:43.000000000 +0200 @@ -23,6 +23,8 @@ #error This file uses GNU C extensions; you must compile with GCC. #endif +#ifndef NOFPU + /* Return the square root of X. */ double __ieee754_sqrt (x) @@ -32,3 +34,9 @@ asm ("fsqrtd %1, %0" : "=f" (result) : "f" (x)); return result; } + +#else + +#include + +#endif