about summary refs log tree commit diff
path: root/sysdeps/i386
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/i386')
-rw-r--r--sysdeps/i386/isinfl.c46
-rw-r--r--sysdeps/i386/isnanl.c43
-rw-r--r--sysdeps/i386/strsep.S3
-rw-r--r--sysdeps/i386/strtok.S63
4 files changed, 9 insertions, 146 deletions
diff --git a/sysdeps/i386/isinfl.c b/sysdeps/i386/isinfl.c
deleted file mode 100644
index 056d756d58..0000000000
--- a/sysdeps/i386/isinfl.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Check `long double' for Infinity.  i386 FPU version.
-Copyright (C) 1991, 1992, 1995 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
-
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <math.h>
-#include "ieee754.h"
-
-#undef __isinfl
-#undef isinfl
-
-
-/* Return 0 if VALUE is finite or NaN, +1 if it
-   is +Infinity, -1 if it is -Infinity.  */
-int
-__isinfl (long double value)
-{
-  union ieee854_long_double u;
-
-  u.d = value;
-
-  /* Intel's interpretation of the IEEE 854 standard defines Inf to
-     have the maximum possible exponent and the MSB of the mantissa
-     set.  No further bit of the mantissa must be set.  */
-  if ((u.ieee.exponent & 0x7fff) == 0x7fff &&
-      u.ieee.mantissa0 == 0x80000000 && u.ieee.mantissa1 == 0)
-    return u.ieee.negative ? -1 : 1;
-
-  return 0;
-}
-
-weak_alias (__isinfl, isinfl);
diff --git a/sysdeps/i386/isnanl.c b/sysdeps/i386/isnanl.c
deleted file mode 100644
index de10c07532..0000000000
--- a/sysdeps/i386/isnanl.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Check `long double' for Not A Number.  i386 FPU version.
-Copyright (C) 1991, 1992, 1995 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
-
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <math.h>
-#include "ieee754.h"
-
-#undef __isnanl
-#undef isnanl
-
-
-/* Return nonzero if VALUE is not a number.  */
-int
-__isnanl (long double value)
-{
-  union ieee854_long_double u;
-
-  u.d = value;
-
-  /* Intel's interpretation of the IEEE 854 standard defines NaN to
-     have the maximum possible exponent and the MSB and at least one
-     more bit of the mantissa set.  */
-  return ((u.ieee.exponent & 0x7fff) == 0x7fff
-	  && ((u.ieee.mantissa0 & 0x80000000) != 0)
-	  && ((u.ieee.mantissa0 & 0x7fffffff) != 0 || u.ieee.mantissa1 != 0));
-}
-
-weak_alias (__isnanl, isnanl);
diff --git a/sysdeps/i386/strsep.S b/sysdeps/i386/strsep.S
deleted file mode 100644
index 8c425dd505..0000000000
--- a/sysdeps/i386/strsep.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#define FUNCTION strsep
-#define USE_AS_STRSEP	1
-#include <sysdeps/i386/strtok.S>
diff --git a/sysdeps/i386/strtok.S b/sysdeps/i386/strtok.S
index 28845e08cf..2ef8803ef6 100644
--- a/sysdeps/i386/strtok.S
+++ b/sysdeps/i386/strtok.S
@@ -19,7 +19,6 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-#include <errnos.h>
 #include <sysdep.h>
 
 /* This file can be used for three variants of the strtok function:
@@ -35,14 +34,9 @@ Boston, MA 02111-1307, USA.  */
 	delim		(sp + 8)
 	save_ptr	(sp + 12)
 
-   strsep:
-	INPUT PARAMETERS
-	str_ptr		(sp + 4)
-	delim		(sp + 8)
-
    We do a common implementation here.  */
 
-#if !defined (USE_AS_STRTOK_R) && !defined (USE_AS_STRSEP)
+#ifndef USE_AS_STRTOK_R
 	.bss
 	.local save_ptr
 	ASM_TYPE_DIRECTIVE (save_ptr, @object)
@@ -53,73 +47,40 @@ save_ptr:
 #define FUNCTION strtok
 #endif
 
-	/* We use the possibility to do some more initialization
-	   for the strtok implementation.  */
 	.text
-Lillegal_argument:
-#ifndef PIC
-	movl $EINVAL, C_SYMBOL_NAME(errno)
-	xorl %eax, %eax
-#else
-# if defined (USE_AS_STRTOK_R) || defined (USE_AS_STRSEP)
-	pushl %ebx			/* Save PIC register.  */
-	call Lhere2
-Lhere2:	popl %ebx
-	addl $_GLOBAL_OFFSET_TABLE_+[.-Lhere2], %ebx
-# endif
-	movl errno@GOT(%ebx), %ebx
-	movl $EINVAL, (%ebx)
-	xorl %eax, %eax
-	popl %ebx
-#endif
-	ret
-
 
 ENTRY (FUNCTION)
 
 	movl 4(%esp), %edx		/* Get start of string.  */
 	movl 8(%esp), %eax		/* Get start of delimiter set.  */
 
-#ifdef USE_AS_STRSEP
-	/* %EDX does not yet contain the string starting point.  Only
-	   a pointer to the location where it is stored.  */
-	movl (%edx), %edx
-#else
-# if !defined (USE_AS_STRTOK_R) && defined (PIC)
+#if !defined (USE_AS_STRTOK_R) && defined (PIC)
 	pushl %ebx			/* Save PIC register.  */
 	call Lhere
 Lhere:	popl %ebx
 	addl $_GLOBAL_OFFSET_TABLE_+[.-Lhere], %ebx
-# endif
+#endif
 
 	/* If the pointer is NULL we have to use the stored value of
 	   the last run.  */
 	cmpl $0, %edx
 	jne L0
 
-# ifdef USE_AS_STRTOK_R
+#ifdef USE_AS_STRTOK_R
 	/* The value is stored in the third argument.  */
 	movl 12(%esp), %edx
 	movl (%edx), %edx
-# else
+#else
 	/* The value is in the local variable defined above.  But
 	   we have to take care for PIC code.  */
-#  ifndef PIC
+# ifndef PIC
 	movl save_ptr, %edx
-#  else
+# else
 	movl save_ptr@GOTOFF(%ebx), %edx
-#  endif
 # endif
 #endif
 
-	/* Compare whether pointer is NULL.  We are tolerant here
-	   because the C function do the same.  */
-	cmpl $0, %edx
-	je Lillegal_argument
-
-#ifndef USE_AS_STRSEP
 L0:
-#endif
 	/* First we create a table with flags for all possible characters.
 	   For the ASCII (7bit/8bit) or ISO-8859-X character sets which are
 	   supported by the C string functions we have 256 characters.
@@ -224,8 +185,8 @@ L1:	leal -4(%edx), %eax	/* prepare loop */
 	   1. a character in the stopset was found
 	   and
 	   2. the end of the string was found
-	   But as a sign that the chracter is in the stopset we store its
-	   value in the table.  But the value of NUL is NUL so the loop
+	   As a sign that the character is in the stopset we store its
+	   value in the table.  The value of NUL is NUL so the loop
 	   terminates for NUL in every case.  */
 
 L3:	addl $4, %eax		/* adjust pointer for full loop round */
@@ -295,9 +256,6 @@ L11:
 #ifdef USE_AS_STRTOK_R
 	movl 12(%esp), %ecx
 	movl %edx, (%ecx)
-#elif USE_AS_STRSEP
-	movl 4(%esp), %ecx
-	movl %edx, (%ecx)
 #else
 # ifndef PIC
 	movl %edx, save_ptr
@@ -315,9 +273,6 @@ LreturnNULL:
 #ifdef USE_AS_STRTOK_R
 	movl 12(%esp), %ecx
 	movl %eax, (%ecx)
-#elif USE_AS_STRSEP
-	movl 4(%esp), %ecx
-	movl %eax, (%ecx)
 #else
 # ifndef PIC
 	movl %eax, save_ptr