From 2d67d91ac08aa2f793d220ad8712541fefa0ba79 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 6 Mar 2013 00:10:21 +0000 Subject: Remove powerpc64 bounded-pointers code. --- sysdeps/powerpc/powerpc64/power4/memcmp.S | 9 ++---- sysdeps/powerpc/powerpc64/power4/memcpy.S | 6 ++-- sysdeps/powerpc/powerpc64/power4/memset.S | 44 ++++++------------------------ sysdeps/powerpc/powerpc64/power4/strncmp.S | 9 ++---- 4 files changed, 15 insertions(+), 53 deletions(-) (limited to 'sysdeps/powerpc/powerpc64/power4') diff --git a/sysdeps/powerpc/powerpc64/power4/memcmp.S b/sysdeps/powerpc/powerpc64/power4/memcmp.S index 7df52f810b..6378ecb2d9 100644 --- a/sysdeps/powerpc/powerpc64/power4/memcmp.S +++ b/sysdeps/powerpc/powerpc64/power4/memcmp.S @@ -17,13 +17,11 @@ . */ #include -#include -#include /* int [r3] memcmp (const char *s1 [r3], const char *s2 [r4], size_t size [r5]) */ .machine power4 -EALIGN (BP_SYM(memcmp), 4, 0) +EALIGN (memcmp, 4, 0) CALL_MCOUNT 3 #define rTMP r0 @@ -31,9 +29,6 @@ EALIGN (BP_SYM(memcmp), 4, 0) #define rSTR1 r3 /* first string arg */ #define rSTR2 r4 /* second string arg */ #define rN r5 /* max string length */ -/* Note: The Bounded pointer support in this code is broken. This code - was inherited from PPC32 and that support was never completed. - Current PPC gcc does not support -fbounds-check or -fbounded-pointers. */ #define rWORD1 r6 /* current word in s1 */ #define rWORD2 r7 /* current word in s2 */ #define rWORD3 r8 /* next word in s1 */ @@ -976,6 +971,6 @@ L(duzeroLength): li rRTN,0 blr -END (BP_SYM (memcmp)) +END (memcmp) libc_hidden_builtin_def (memcmp) weak_alias (memcmp, bcmp) diff --git a/sysdeps/powerpc/powerpc64/power4/memcpy.S b/sysdeps/powerpc/powerpc64/power4/memcpy.S index 734434af07..c43d1d2e4e 100644 --- a/sysdeps/powerpc/powerpc64/power4/memcpy.S +++ b/sysdeps/powerpc/powerpc64/power4/memcpy.S @@ -17,8 +17,6 @@ . */ #include -#include -#include /* __ptr_t [r3] memcpy (__ptr_t dst [r3], __ptr_t src [r4], size_t len [r5]); Returns 'dst'. @@ -36,7 +34,7 @@ Each case has a optimized unrolled loop. */ .machine power4 -EALIGN (BP_SYM (memcpy), 5, 0) +EALIGN (memcpy, 5, 0) CALL_MCOUNT 3 cmpldi cr1,5,31 @@ -413,5 +411,5 @@ EALIGN (BP_SYM (memcpy), 5, 0) ld 31,-8(1) ld 3,-16(1) blr -END_GEN_TB (BP_SYM (memcpy),TB_TOCLESS) +END_GEN_TB (memcpy,TB_TOCLESS) libc_hidden_builtin_def (memcpy) diff --git a/sysdeps/powerpc/powerpc64/power4/memset.S b/sysdeps/powerpc/powerpc64/power4/memset.S index 198269272b..dbecee8b97 100644 --- a/sysdeps/powerpc/powerpc64/power4/memset.S +++ b/sysdeps/powerpc/powerpc64/power4/memset.S @@ -17,8 +17,6 @@ . */ #include -#include -#include /* __ptr_t [r3] memset (__ptr_t s [r3], int c [r4], size_t n [r5])); Returns 's'. @@ -28,22 +26,15 @@ to 0, to take advantage of the dcbz instruction. */ .machine power4 -EALIGN (BP_SYM (memset), 5, 0) +EALIGN (memset, 5, 0) CALL_MCOUNT 3 #define rTMP r0 #define rRTN r3 /* Initial value of 1st argument. */ -#if __BOUNDED_POINTERS__ -# define rMEMP0 r4 /* Original value of 1st arg. */ -# define rCHR r5 /* Char to set in each byte. */ -# define rLEN r6 /* Length of region to set. */ -# define rMEMP r10 /* Address at which we are storing. */ -#else -# define rMEMP0 r3 /* Original value of 1st arg. */ -# define rCHR r4 /* Char to set in each byte. */ -# define rLEN r5 /* Length of region to set. */ -# define rMEMP r6 /* Address at which we are storing. */ -#endif +#define rMEMP0 r3 /* Original value of 1st arg. */ +#define rCHR r4 /* Char to set in each byte. */ +#define rLEN r5 /* Length of region to set. */ +#define rMEMP r6 /* Address at which we are storing. */ #define rALIGN r7 /* Number of bytes we are setting now (when aligning). */ #define rMEMP2 r8 @@ -51,14 +42,6 @@ EALIGN (BP_SYM (memset), 5, 0) #define rCLS r8 /* Cache line size obtained from static. */ #define rCLM r9 /* Cache line size mask to check for cache alignment. */ L(_memset): -#if __BOUNDED_POINTERS__ - cmpldi cr1, rRTN, 0 - CHECK_BOUNDS_BOTH_WIDE (rMEMP0, rTMP, rTMP2, rLEN) - beq cr1, L(b0) - STORE_RETURN_VALUE (rMEMP0) - STORE_RETURN_BOUNDS (rTMP, rTMP2) -L(b0): -#endif /* Take care of case for size <= 4. */ cmpldi cr1, rLEN, 8 andi. rALIGN, rMEMP0, 7 @@ -249,25 +232,16 @@ L(medium_27f): L(medium_28t): std rCHR, -8(rMEMP) blr -END_GEN_TB (BP_SYM (memset),TB_TOCLESS) +END_GEN_TB (memset,TB_TOCLESS) libc_hidden_builtin_def (memset) /* Copied from bzero.S to prevent the linker from inserting a stub between bzero and memset. */ -ENTRY (BP_SYM (__bzero)) +ENTRY (__bzero) CALL_MCOUNT 3 -#if __BOUNDED_POINTERS__ - mr r6,r4 - li r5,0 - mr r4,r3 - /* Tell memset that we don't want a return value. */ - li r3,0 - b L(_memset) -#else mr r5,r4 li r4,0 b L(_memset) -#endif -END_GEN_TB (BP_SYM (__bzero),TB_TOCLESS) +END_GEN_TB (__bzero,TB_TOCLESS) -weak_alias (BP_SYM (__bzero), BP_SYM (bzero)) +weak_alias (__bzero, bzero) diff --git a/sysdeps/powerpc/powerpc64/power4/strncmp.S b/sysdeps/powerpc/powerpc64/power4/strncmp.S index 19877fa785..1276e16a59 100644 --- a/sysdeps/powerpc/powerpc64/power4/strncmp.S +++ b/sysdeps/powerpc/powerpc64/power4/strncmp.S @@ -17,14 +17,12 @@ . */ #include -#include -#include /* See strlen.s for comments on how the end-of-string testing works. */ /* int [r3] strncmp (const char *s1 [r3], const char *s2 [r4], size_t size [r5]) */ -EALIGN (BP_SYM(strncmp), 4, 0) +EALIGN (strncmp, 4, 0) CALL_MCOUNT 3 #define rTMP r0 @@ -32,9 +30,6 @@ EALIGN (BP_SYM(strncmp), 4, 0) #define rSTR1 r3 /* first string arg */ #define rSTR2 r4 /* second string arg */ #define rN r5 /* max string length */ -/* Note: The Bounded pointer support in this code is broken. This code - was inherited from PPC32 and that support was never completed. - Current PPC gcc does not support -fbounds-check or -fbounded-pointers. */ #define rWORD1 r6 /* current word in s1 */ #define rWORD2 r7 /* current word in s2 */ #define rWORD3 r10 @@ -175,5 +170,5 @@ L(u4): sub rRTN, rWORD1, rWORD2 L(ux): li rRTN, 0 blr -END (BP_SYM (strncmp)) +END (strncmp) libc_hidden_builtin_def (strncmp) -- cgit v1.2.3-70-g09d2