diff options
author | Greg McGary <greg@mcgary.org> | 2000-06-30 21:35:52 +0000 |
---|---|---|
committer | Greg McGary <greg@mcgary.org> | 2000-06-30 21:35:52 +0000 |
commit | fa87f4037711e92c52965e87a83c60f270292dc0 (patch) | |
tree | dd90b952e4f46f3fa4d1b36a51a05a03a960d422 /sysdeps/powerpc/strlen.S | |
parent | dbda6079a64a9dbc6dfb24280af01e871e6f7de5 (diff) | |
download | glibc-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.S | 9 |
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)) |