This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

PATCH: Restore __ubp_memchr alias


i686: No build regressions.  No binary changes.

OK?

2000-07-26  Greg McGary  <greg@mcgary.org>
	
	* sysdeps/generic/bp-checks.h (__memchr): Remove incorrect decl.
	(__ubp_memchr): Add correct decl.
	(_CHECK_STRING): Use __ubp_memchr.
	* sysdeps/alpha/memchr.S [!__BOUNDED_POINTERS__] (__ubp_memchr):
	New alias for unbounded-pointer __memchr.
	* sysdeps/i386/memchr.S: Likewise.
	* sysdeps/ia64/memchr.S: Likewise.
	* sysdeps/m68k/memchr.S: Likewise.
	* sysdeps/sparc/sparc32/memchr.S: Likewise.
	* sysdeps/sparc/sparc64/memchr.S: Likewise.
	* sysdeps/vax/memchr.s: Likewise.

Index: sysdeps/generic/bp-checks.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/generic/bp-checks.h,v
retrieving revision 1.3
diff -u -p -r1.3 bp-checks.h
--- bp-checks.h	2000/07/17 22:36:15	1.3
+++ bp-checks.h	2000/07/26 08:16:37
@@ -26,7 +26,6 @@
 #if __BOUNDED_POINTERS__
 
 # define BOUNDS_VIOLATED (__builtin_trap (), 0)
-extern int __memchr (const char *__unbounded, int, unsigned);
 
 /* Verify that pointer's value >= low.  Return pointer value.  */
 # define CHECK_BOUNDS_LOW(ARG)					\
@@ -45,10 +44,12 @@ extern int __memchr (const char *__unbou
     && BOUNDS_VIOLATED),				\
    __ptrvalue (ARG))
 
+extern void *__unbounded __ubp_memchr (const void *__unbounded, int, unsigned);
+
 # define _CHECK_STRING(ARG, COND)				\
   (((COND)							\
     && (__ptrvalue (ARG) < __ptrlow (ARG)			\
-	|| !__memchr (__ptrvalue (ARG), '\0',			\
+	|| !__ubp_memchr (__ptrvalue (ARG), '\0',			\
 		      (__ptrhigh (ARG) - __ptrvalue (ARG))))	\
     && BOUNDS_VIOLATED),					\
    __ptrvalue (ARG))
Index: sysdeps/alpha/memchr.S
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/alpha/memchr.S,v
retrieving revision 1.9
diff -u -p -B -w -r1.9 memchr.S
--- memchr.S	2000/07/18 08:40:57	1.9
+++ memchr.S	2000/07/26 08:19:39
@@ -170,3 +170,6 @@ $not_found:
         END(__memchr)
 
 weak_alias (__memchr, memchr)
+#if !__BOUNDED_POINTERS__
+weak_alias (__memchr, __ubp_memchr)
+#endif
Index: sysdeps/i386/memchr.S
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/i386/memchr.S,v
retrieving revision 1.9
diff -u -p -r1.9 memchr.S
--- memchr.S	2000/07/17 22:36:15	1.9
+++ memchr.S	2000/07/26 08:16:37
@@ -328,3 +328,6 @@ L(pop):	popl %edi		/* pop saved register
 END (BP_SYM (__memchr))
 
 weak_alias (BP_SYM (__memchr), BP_SYM (memchr))
+#if !__BOUNDED_POINTERS__
+weak_alias (__memchr, __ubp_memchr)
+#endif
Index: sysdeps/ia64/memchr.S
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/ia64/memchr.S,v
retrieving revision 1.3
diff -u -p -B -w -r1.3 memchr.S
--- memchr.S	2000/07/17 22:36:16	1.3
+++ memchr.S	2000/07/26 08:19:39
@@ -124,3 +124,6 @@ ENTRY(__memchr)
 END(__memchr)
 
 weak_alias (__memchr, memchr)
+#if !__BOUNDED_POINTERS__
+weak_alias (__memchr, __ubp_memchr)
+#endif
Index: sysdeps/m68k/memchr.S
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/m68k/memchr.S,v
retrieving revision 1.2
diff -u -p -B -w -r1.2 memchr.S
--- memchr.S	2000/07/17 22:36:16	1.2
+++ memchr.S	2000/07/26 08:19:40
@@ -226,3 +226,6 @@ L(L9:)
 END(__memchr)
 
 weak_alias (__memchr, memchr)
+#if !__BOUNDED_POINTERS__
+weak_alias (__memchr, __ubp_memchr)
+#endif
Index: sysdeps/sparc/sparc32/memchr.S
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/sparc/sparc32/memchr.S,v
retrieving revision 1.2
diff -u -p -B -w -r1.2 memchr.S
--- memchr.S	2000/07/17 22:36:16	1.2
+++ memchr.S	2000/07/26 08:19:40
@@ -143,3 +143,6 @@ ENTRY(__memchr)
 END(__memchr)
 
 weak_alias (__memchr, memchr)
+#if !__BOUNDED_POINTERS__
+weak_alias (__memchr, __ubp_memchr)
+#endif
Index: sysdeps/sparc/sparc64/memchr.S
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/sparc/sparc64/memchr.S,v
retrieving revision 1.4
diff -u -p -B -w -r1.4 memchr.S
--- memchr.S	2000/07/17 22:36:16	1.4
+++ memchr.S	2000/07/26 08:19:40
@@ -259,3 +259,6 @@ ENTRY(__memchr)
 END(__memchr)
 
 weak_alias (__memchr, memchr)
+#if !__BOUNDED_POINTERS__
+weak_alias (__memchr, __ubp_memchr)
+#endif
Index: sysdeps/vax/memchr.s
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/vax/memchr.s,v
retrieving revision 1.4
diff -u -p -B -w -r1.4 memchr.s
--- memchr.s	2000/07/17 22:36:16	1.4
+++ memchr.s	2000/07/26 08:19:40
@@ -69,4 +69,6 @@ ENTRY(__memchr, 0)
 	brb	0b		# and loop
 
 weak_alias (__memchr, memchr)
-	
\ No newline at end of file
+#if !__BOUNDED_POINTERS__
+weak_alias (__memchr, __ubp_memchr)
+#endif

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]