summary refs log tree commit diff
path: root/sysdeps/powerpc/strlen.S
diff options
context:
space:
mode:
authorGreg McGary <greg@mcgary.org>2000-06-30 21:35:52 +0000
committerGreg McGary <greg@mcgary.org>2000-06-30 21:35:52 +0000
commitfa87f4037711e92c52965e87a83c60f270292dc0 (patch)
treedd90b952e4f46f3fa4d1b36a51a05a03a960d422 /sysdeps/powerpc/strlen.S
parentdbda6079a64a9dbc6dfb24280af01e871e6f7de5 (diff)
downloadglibc-fa87f4037711e92c52965e87a83c60f270292dc0.tar.gz
glibc-fa87f4037711e92c52965e87a83c60f270292dc0.tar.xz
glibc-fa87f4037711e92c52965e87a83c60f270292dc0.zip
* sysdeps/powerpc/bp-asm.h: New file.
* sysdeps/powerpc/__longjmp.S:  Check bounds. 
Wrap extern symbols in BP_SYM (). 
* sysdeps/powerpc/bsd-_setjmp.S: Likewise. 
* sysdeps/powerpc/bsd-setjmp.S: Likewise. 
* sysdeps/powerpc/setjmp.S: Likewise. 
* sysdeps/powerpc/add_n.S: Likewise. 
* sysdeps/powerpc/addmul_1.S: Likewise. 
* sysdeps/powerpc/lshift.S: Likewise. 
* sysdeps/powerpc/rshift.S: Likewise. 
* sysdeps/powerpc/mul_1.S: Likewise. 
* sysdeps/powerpc/sub_n.S: Likewise. 
* sysdeps/powerpc/submul_1.S: Likewise. 
* sysdeps/powerpc/strlen.S: Likewise. 
* sysdeps/powerpc/memset.S: Likewise. 
* sysdeps/powerpc/stpcpy.S: Likewise. 
* sysdeps/powerpc/strcmp.S: Likewise. 
* sysdeps/powerpc/strcpy.S: Likewise. 
* sysdeps/powerpc/elf/bzero.S: Likewise.
	* sysdeps/powerpc/bp-asm.h: New file.
	* sysdeps/powerpc/__longjmp.S:  Check bounds.
	Wrap extern symbols in BP_SYM ().
	* sysdeps/powerpc/bsd-_setjmp.S: Likewise.
	* sysdeps/powerpc/bsd-setjmp.S: Likewise.
	* sysdeps/powerpc/setjmp.S: Likewise.
	* sysdeps/powerpc/add_n.S: Likewise.
	* sysdeps/powerpc/addmul_1.S: Likewise.
	* sysdeps/powerpc/lshift.S: Likewise.
	* sysdeps/powerpc/rshift.S: Likewise.
	* sysdeps/powerpc/mul_1.S: Likewise.
	* sysdeps/powerpc/sub_n.S: Likewise.
	* sysdeps/powerpc/submul_1.S: Likewise.
	* sysdeps/powerpc/strlen.S: Likewise.
	* sysdeps/powerpc/memset.S: Likewise.
	* sysdeps/powerpc/stpcpy.S: Likewise.
	* sysdeps/powerpc/strcmp.S: Likewise.
	* sysdeps/powerpc/strcpy.S: Likewise.
	* sysdeps/powerpc/elf/bzero.S: Likewise.
Diffstat (limited to 'sysdeps/powerpc/strlen.S')
-rw-r--r--sysdeps/powerpc/strlen.S9
1 files changed, 7 insertions, 2 deletions
diff --git a/sysdeps/powerpc/strlen.S b/sysdeps/powerpc/strlen.S
index 18e76238c0..dc76333cbd 100644
--- a/sysdeps/powerpc/strlen.S
+++ b/sysdeps/powerpc/strlen.S
@@ -18,6 +18,8 @@
    Boston, MA 02111-1307, USA.  */
 
 #include <sysdep.h>
+#include <bp-sym.h>
+#include <bp-asm.h>
 
 /* The algorithm here uses the following techniques:
 
@@ -71,7 +73,7 @@
 
 /* int [r3] strlen (char *s [r3])  */
 
-ENTRY (strlen)
+ENTRY (BP_SYM (strlen))
 
 #define rTMP1	r0
 #define rRTN	r3	/* incoming STR arg, outgoing result */
@@ -87,6 +89,8 @@ ENTRY (strlen)
 #define rTMP3	r11
 #define rTMP4	r12
 
+	CHECK_BOUNDS_LOW (rRTN, rTMP1, rTMP2)
+
 	clrrwi	rSTR, rRTN, 2
 	lis	r7F7F, 0x7f7f
 	rlwinm	rPADN, rRTN, 3, 27, 28
@@ -150,5 +154,6 @@ L(done0):
 	subf	rTMP1, rRTN, rSTR
 	srwi	rTMP3, rTMP3, 3
 	add	rRTN, rTMP1, rTMP3
+	/* GKM FIXME: check high bound.  */
 	blr
-END (strlen)
+END (BP_SYM (strlen))