Blame SOURCES/glibc-rh1505492-bounded-17.patch

c6d234
commit 2d67d91ac08aa2f793d220ad8712541fefa0ba79
c6d234
Author: Joseph Myers <joseph@codesourcery.com>
c6d234
Date:   Wed Mar 6 00:10:21 2013 +0000
c6d234
c6d234
    Remove powerpc64 bounded-pointers code.
c6d234
c6d234
Conflicts:
c6d234
	sysdeps/generic/bp-sym.h
c6d234
	  (Copyright header change; file deleted manually.)
c6d234
	sysdeps/powerpc/powerpc64/bp-asm.h
c6d234
	sysdeps/powerpc/powerpc64/memset.S
c6d234
	sysdeps/powerpc/powerpc64/power4/memset.S
c6d234
	sysdeps/powerpc/powerpc64/power6/memset.S
c6d234
	sysdeps/powerpc/powerpc64/power7/memchr.S
c6d234
	sysdeps/powerpc/powerpc64/power7/memcmp.S
c6d234
	sysdeps/powerpc/powerpc64/power7/memrchr.S
c6d234
	sysdeps/powerpc/powerpc64/power7/memset.S
c6d234
	sysdeps/powerpc/powerpc64/power7/strnlen.S
c6d234
	sysdeps/powerpc/powerpc64/setjmp-common.S
c6d234
	sysdeps/powerpc/powerpc64/stpcpy.S
c6d234
	sysdeps/powerpc/powerpc64/strcmp.S
c6d234
	sysdeps/powerpc/powerpc64/strcpy.S
c6d234
	sysdeps/powerpc/powerpc64/strlen.S
c6d234
	  (Resolved textual conflicts due to previous backports.)
c6d234
c6d234
diff --git a/sysdeps/generic/bp-sym.h b/sysdeps/generic/bp-sym.h
c6d234
deleted file mode 100644
c6d234
index f581e5fc59dfedd9..0000000000000000
c6d234
--- a/sysdeps/generic/bp-sym.h
c6d234
+++ /dev/null
c6d234
@@ -1,25 +0,0 @@
c6d234
-/* Bounded-pointer symbol modifier.
c6d234
-   Copyright (C) 2000 Free Software Foundation, Inc.
c6d234
-   This file is part of the GNU C Library.
c6d234
-   Contributed by Greg McGary <greg@mcgary.org>
c6d234
-
c6d234
-   The GNU C Library is free software; you can redistribute it and/or
c6d234
-   modify it under the terms of the GNU Lesser General Public
c6d234
-   License as published by the Free Software Foundation; either
c6d234
-   version 2.1 of the License, or (at your option) any later version.
c6d234
-
c6d234
-   The GNU C Library is distributed in the hope that it will be useful,
c6d234
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
c6d234
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
c6d234
-   Lesser General Public License for more details.
c6d234
-
c6d234
-   You should have received a copy of the GNU Lesser General Public
c6d234
-   License along with the GNU C Library; if not, see
c6d234
-   <http://www.gnu.org/licenses/>.  */
c6d234
-
c6d234
-#define BP_SYM(name) _BP_SYM (name)
c6d234
-#if __BOUNDED_POINTERS__
c6d234
-# define _BP_SYM(name) __BP_##name
c6d234
-#else
c6d234
-# define _BP_SYM(name) name
c6d234
-#endif
c6d234
diff --git a/sysdeps/powerpc/powerpc64/__longjmp-common.S b/sysdeps/powerpc/powerpc64/__longjmp-common.S
c6d234
index 95caaa77c322562a..da65c6f1bbdb6dc3 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/__longjmp-common.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/__longjmp-common.S
c6d234
@@ -24,8 +24,6 @@
c6d234
 #else
c6d234
 # include <jmpbuf-offsets.h>
c6d234
 #endif
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 #ifndef __NO_VMX__
c6d234
 	.section	".toc","aw"
c6d234
@@ -45,9 +43,8 @@
c6d234
 #endif
c6d234
 
c6d234
 	.machine	"altivec"
c6d234
-ENTRY (BP_SYM (__longjmp))
c6d234
+ENTRY (__longjmp)
c6d234
 	CALL_MCOUNT 2
c6d234
-	CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
c6d234
 #ifndef __NO_VMX__
c6d234
 	ld    r5,.LC__dl_hwcap@toc(r2)
c6d234
 # ifdef SHARED
c6d234
@@ -178,4 +175,4 @@ L(no_vmx):
c6d234
 	lfd fp31,((JB_FPRS+17)*8)(r3)
c6d234
 	mr r3,r4
c6d234
 	blr
c6d234
-END (BP_SYM (__longjmp))
c6d234
+END (__longjmp)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/a2/memcpy.S b/sysdeps/powerpc/powerpc64/a2/memcpy.S
c6d234
index 4ffe19a0e6b04d2f..f640feb45ce306c6 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/a2/memcpy.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/a2/memcpy.S
c6d234
@@ -18,8 +18,6 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 #define PREFETCH_AHEAD 4        /* no cache lines SRC prefetching ahead  */
c6d234
 #define ZERO_AHEAD 2            /* no cache lines DST zeroing ahead  */
c6d234
@@ -32,7 +30,7 @@
c6d234
 
c6d234
 
c6d234
 	.machine  a2
c6d234
-EALIGN (BP_SYM (memcpy), 5, 0)
c6d234
+EALIGN (memcpy, 5, 0)
c6d234
 	CALL_MCOUNT 3
c6d234
 
c6d234
 	dcbt    0,r4            /* Prefetch ONE SRC cacheline  */
c6d234
@@ -522,5 +520,5 @@ L(endloop2_128):
c6d234
 	b       L(lessthancacheline)
c6d234
 
c6d234
 
c6d234
-END_GEN_TB (BP_SYM (memcpy),TB_TOCLESS)
c6d234
+END_GEN_TB (memcpy,TB_TOCLESS)
c6d234
 libc_hidden_builtin_def (memcpy)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/bp-asm.h b/sysdeps/powerpc/powerpc64/bp-asm.h
c6d234
deleted file mode 100644
c6d234
index f1ec72204b685801..0000000000000000
c6d234
--- a/sysdeps/powerpc/powerpc64/bp-asm.h
c6d234
+++ /dev/null
c6d234
@@ -1,113 +0,0 @@
c6d234
-/* Bounded-pointer definitions for PowerPC64 assembler.
c6d234
-   Copyright (C) 2000, 2002 Free Software Foundation, Inc.
c6d234
-   Contributed by Greg McGary <greg@mcgary.org>
c6d234
-
c6d234
-   This file is part of the GNU C Library.  Its master source is NOT part of
c6d234
-   the C library, however.  The master source lives in the GNU MP Library.
c6d234
-
c6d234
-   The GNU C Library is free software; you can redistribute it and/or
c6d234
-   modify it under the terms of the GNU Library General Public License as
c6d234
-   published by the Free Software Foundation; either version 2 of the
c6d234
-   License, or (at your option) any later version.
c6d234
-
c6d234
-   The GNU C Library is distributed in the hope that it will be useful,
c6d234
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
c6d234
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
c6d234
-   Library General Public License for more details.
c6d234
-
c6d234
-   You should have received a copy of the GNU Library General Public
c6d234
-   License along with the GNU C Library; see the file COPYING.LIB.  If
c6d234
-   not, see <http://www.gnu.org/licenses/>.  */
c6d234
-
c6d234
-#if __BOUNDED_POINTERS__
c6d234
-
c6d234
-/* Byte offsets of BP components.  */
c6d234
-# define oVALUE	0
c6d234
-# define oLOW	4
c6d234
-# define oHIGH	8
c6d234
-
c6d234
-/* Don't check bounds, just convert the BP register to its simple
c6d234
-   pointer value.  */
c6d234
-
c6d234
-# define DISCARD_BOUNDS(rBP)			\
c6d234
-	ld	rBP, oVALUE(rBP)
c6d234
-
c6d234
-/* Check low bound, with the side effect that the BP register is converted
c6d234
-   its simple pointer value.  Move the high bound into a register for
c6d234
-   later use.  */
c6d234
-
c6d234
-# define CHECK_BOUNDS_LOW(rBP, rLOW, rHIGH)	\
c6d234
-	ld	rHIGH, oHIGH(rBP);		\
c6d234
-	ld	rLOW, oLOW(rBP);		\
c6d234
-	ld	rBP, oVALUE(rBP);		\
c6d234
-	tdllt	rBP, rLOW
c6d234
-
c6d234
-/* Check the high bound, which is in a register, using the given
c6d234
-   conditional trap instruction.  */
c6d234
-
c6d234
-# define CHECK_BOUNDS_HIGH(rVALUE, rHIGH, TWLcc) \
c6d234
-	TWLcc	rVALUE, rHIGH
c6d234
-
c6d234
-/* Check the high bound, which is stored at the return-value's high
c6d234
-   bound slot, using the given conditional trap instruction.  */
c6d234
-
c6d234
-# define CHECK_BOUNDS_HIGH_RTN(rVALUE, rHIGH, TWLcc)	\
c6d234
-	ld	rHIGH, oHIGH(rRTN);			\
c6d234
-	TWLcc	rVALUE, rHIGH
c6d234
-
c6d234
-/* Check both bounds, with the side effect that the BP register is
c6d234
-   converted to its simple pointer value.  */
c6d234
-
c6d234
-# define CHECK_BOUNDS_BOTH(rBP, rLOW, rHIGH)	\
c6d234
-	CHECK_BOUNDS_LOW(rBP, rLOW, rHIGH);	\
c6d234
-	tdlge	rBP, rHIGH
c6d234
-
c6d234
-/* Check bounds on a memory region of given length, with the side
c6d234
-   effect that the BP register is converted to its simple pointer
c6d234
-   value.  */
c6d234
-
c6d234
-# define CHECK_BOUNDS_BOTH_WIDE(rBP, rLOW, rHIGH, rLENGTH)	\
c6d234
-	CHECK_BOUNDS_LOW (rBP, rLOW, rHIGH);			\
c6d234
-	sub	rHIGH, rHIGH, rLENGTH;				\
c6d234
-	tdlgt	rBP, rHIGH
c6d234
-
c6d234
-# define CHECK_BOUNDS_BOTH_WIDE_LIT(rBP, rLOW, rHIGH, LENGTH)	\
c6d234
-	CHECK_BOUNDS_LOW (rBP, rLOW, rHIGH);			\
c6d234
-	subi	rHIGH, rHIGH, LENGTH;				\
c6d234
-	tdlgt	rBP, rHIGH
c6d234
-
c6d234
-/* Store a pointer value register into the return-value's pointer
c6d234
-   value slot.  */
c6d234
-
c6d234
-# define STORE_RETURN_VALUE(rVALUE)		\
c6d234
-	std	rVALUE, oVALUE(rRTN)
c6d234
-
c6d234
-/* Store a low and high bounds into the return-value's pointer bounds
c6d234
-   slots.  */
c6d234
-
c6d234
-# define STORE_RETURN_BOUNDS(rLOW, rHIGH)	\
c6d234
-	std	rLOW, oLOW(rRTN);		\
c6d234
-	std	rHIGH, oHIGH(rRTN)
c6d234
-
c6d234
-/* Stuff zero value/low/high into the BP addressed by rRTN.  */
c6d234
-
c6d234
-# define RETURN_NULL_BOUNDED_POINTER		\
c6d234
-	li	r4, 0;				\
c6d234
-	STORE_RETURN_VALUE (r4);		\
c6d234
-	STORE_RETURN_BOUNDS (r4, r4)
c6d234
-
c6d234
-#else
c6d234
-
c6d234
-# define DISCARD_BOUNDS(rBP)
c6d234
-# define CHECK_BOUNDS_LOW(rBP, rLOW, rHIGH)
c6d234
-# define CHECK_BOUNDS_HIGH(rVALUE, rHIGH, TWLcc)
c6d234
-# define CHECK_BOUNDS_HIGH_RTN(rVALUE, rHIGH, TWLcc)
c6d234
-# define CHECK_BOUNDS_BOTH(rBP, rLOW, rHIGH)
c6d234
-# define CHECK_BOUNDS_BOTH_WIDE(rBP, rLOW, rHIGH, rLENGTH)
c6d234
-# define CHECK_BOUNDS_BOTH_WIDE_LIT(rBP, rLOW, rHIGH, LENGTH)
c6d234
-# define STORE_RETURN_VALUE(rVALUE)
c6d234
-# define STORE_RETURN_BOUNDS(rLOW, rHIGH)
c6d234
-
c6d234
-# define RETURN_NULL_BOUNDED_POINTER li rRTN, 0
c6d234
-
c6d234
-#endif
c6d234
diff --git a/sysdeps/powerpc/powerpc64/cell/memcpy.S b/sysdeps/powerpc/powerpc64/cell/memcpy.S
c6d234
index 5c2019498af23df0..ad2b506f1e5fba74 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/cell/memcpy.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/cell/memcpy.S
c6d234
@@ -17,8 +17,6 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 #define PREFETCH_AHEAD 6	/* no cache lines SRC prefetching ahead  */
c6d234
 #define ZERO_AHEAD 4		/* no cache lines DST zeroing ahead  */
c6d234
@@ -41,7 +39,7 @@
c6d234
 
c6d234
 .align  7
c6d234
 
c6d234
-EALIGN (BP_SYM (memcpy), 5, 0)
c6d234
+EALIGN (memcpy, 5, 0)
c6d234
 	CALL_MCOUNT 3
c6d234
 
c6d234
 	dcbt	0,r4		/* Prefetch ONE SRC cacheline  */
c6d234
@@ -240,5 +238,5 @@ EALIGN (BP_SYM (memcpy), 5, 0)
c6d234
 	stb	r0,0(r6)
c6d234
 1:	blr
c6d234
 
c6d234
-END_GEN_TB (BP_SYM (memcpy),TB_TOCLESS)
c6d234
+END_GEN_TB (memcpy,TB_TOCLESS)
c6d234
 libc_hidden_builtin_def (memcpy)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/memcpy.S b/sysdeps/powerpc/powerpc64/memcpy.S
c6d234
index 680560e3513be8e0..7652fe380d62d45c 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/memcpy.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/memcpy.S
c6d234
@@ -17,8 +17,6 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 /* __ptr_t [r3] memcpy (__ptr_t dst [r3], __ptr_t src [r4], size_t len [r5]);
c6d234
    Returns 'dst'.
c6d234
@@ -35,7 +33,7 @@
c6d234
    posible when both source and destination are doubleword aligned.
c6d234
    Each case has a optimized unrolled loop.   */
c6d234
 
c6d234
-EALIGN (BP_SYM (memcpy), 5, 0)
c6d234
+EALIGN (memcpy, 5, 0)
c6d234
 	CALL_MCOUNT 3
c6d234
 
c6d234
     cmpldi cr1,5,31
c6d234
@@ -391,5 +389,5 @@ EALIGN (BP_SYM (memcpy), 5, 0)
c6d234
     ld 31,-8(1)
c6d234
     ld 3,-16(1)
c6d234
     blr
c6d234
-END_GEN_TB (BP_SYM (memcpy),TB_TOCLESS)
c6d234
+END_GEN_TB (memcpy,TB_TOCLESS)
c6d234
 libc_hidden_builtin_def (memcpy)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/memset.S b/sysdeps/powerpc/powerpc64/memset.S
c6d234
index caba3564a136c9b1..9177dfc71800487f 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/memset.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/memset.S
c6d234
@@ -18,8 +18,6 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 	.section	".toc","aw"
c6d234
 .LC0:
c6d234
@@ -34,22 +32,15 @@
c6d234
    cache line (256 bits). There is a special case for setting cache lines
c6d234
    to 0, to take advantage of the dcbz instruction.  */
c6d234
 
c6d234
-EALIGN (BP_SYM (memset), 5, 0)
c6d234
+EALIGN (memset, 5, 0)
c6d234
 	CALL_MCOUNT 3
c6d234
 
c6d234
 #define rTMP	r0
c6d234
 #define rRTN	r3	/* Initial value of 1st argument.  */
c6d234
-#if __BOUNDED_POINTERS__
c6d234
-# define rMEMP0	r4	/* Original value of 1st arg.  */
c6d234
-# define rCHR	r5	/* Char to set in each byte.  */
c6d234
-# define rLEN	r6	/* Length of region to set.  */
c6d234
-# define rMEMP	r10	/* Address at which we are storing.  */
c6d234
-#else
c6d234
-# define rMEMP0	r3	/* Original value of 1st arg.  */
c6d234
-# define rCHR	r4	/* Char to set in each byte.  */
c6d234
-# define rLEN	r5	/* Length of region to set.  */
c6d234
-# define rMEMP	r6	/* Address at which we are storing.  */
c6d234
-#endif
c6d234
+#define rMEMP0	r3	/* Original value of 1st arg.  */
c6d234
+#define rCHR	r4	/* Char to set in each byte.  */
c6d234
+#define rLEN	r5	/* Length of region to set.  */
c6d234
+#define rMEMP	r6	/* Address at which we are storing.  */
c6d234
 #define rALIGN	r7	/* Number of bytes we are setting now (when aligning). */
c6d234
 #define rMEMP2	r8
c6d234
 
c6d234
@@ -57,14 +48,6 @@ EALIGN (BP_SYM (memset), 5, 0)
c6d234
 #define rCLS	r8	/* Cache line size obtained from static.  */
c6d234
 #define rCLM	r9	/* Cache line size mask to check for cache alignment.  */
c6d234
 L(_memset):
c6d234
-#if __BOUNDED_POINTERS__
c6d234
-	cmpldi	cr1, rRTN, 0
c6d234
-	CHECK_BOUNDS_BOTH_WIDE (rMEMP0, rTMP, rTMP2, rLEN)
c6d234
-	beq	cr1, L(b0)
c6d234
-	STORE_RETURN_VALUE (rMEMP0)
c6d234
-	STORE_RETURN_BOUNDS (rTMP, rTMP2)
c6d234
-L(b0):
c6d234
-#endif
c6d234
 /* Take care of case for size <= 4.  */
c6d234
 	cmpldi	cr1, rLEN, 8
c6d234
 	andi.	rALIGN, rMEMP0, 7
c6d234
@@ -262,27 +245,18 @@ L(medium_27f):
c6d234
 L(medium_28t):
c6d234
 	std	rCHR, -8(rMEMP)
c6d234
 	blr
c6d234
-END_GEN_TB (BP_SYM (memset),TB_TOCLESS)
c6d234
+END_GEN_TB (memset,TB_TOCLESS)
c6d234
 libc_hidden_builtin_def (memset)
c6d234
 
c6d234
 #ifndef NO_BZERO_IMPL
c6d234
 /* Copied from bzero.S to prevent the linker from inserting a stub
c6d234
    between bzero and memset.  */
c6d234
-ENTRY (BP_SYM (__bzero))
c6d234
+ENTRY (__bzero)
c6d234
 	CALL_MCOUNT 3
c6d234
-#if __BOUNDED_POINTERS__
c6d234
-	mr	r6,r4
c6d234
-	li	r5,0
c6d234
-	mr	r4,r3
c6d234
-	/* Tell memset that we don't want a return value.  */
c6d234
-	li	r3,0
c6d234
-	b	L(_memset)
c6d234
-#else
c6d234
 	mr	r5,r4
c6d234
 	li	r4,0
c6d234
 	b	L(_memset)
c6d234
-#endif
c6d234
-END_GEN_TB (BP_SYM (__bzero),TB_TOCLESS)
c6d234
+END_GEN_TB (__bzero,TB_TOCLESS)
c6d234
 
c6d234
-weak_alias (BP_SYM (__bzero), BP_SYM (bzero))
c6d234
+weak_alias (__bzero, bzero)
c6d234
 #endif
c6d234
diff --git a/sysdeps/powerpc/powerpc64/power4/memset.S b/sysdeps/powerpc/powerpc64/power4/memset.S
c6d234
index 55e4013f1c7062c6..cfb731ddf49b64f4 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/power4/memset.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/power4/memset.S
c6d234
@@ -18,8 +18,6 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 /* __ptr_t [r3] memset (__ptr_t s [r3], int c [r4], size_t n [r5]));
c6d234
    Returns 's'.
c6d234
@@ -29,22 +27,15 @@
c6d234
    to 0, to take advantage of the dcbz instruction.  */
c6d234
 
c6d234
 	.machine power4
c6d234
-EALIGN (BP_SYM (memset), 5, 0)
c6d234
+EALIGN (memset, 5, 0)
c6d234
 	CALL_MCOUNT 3
c6d234
 
c6d234
 #define rTMP	r0
c6d234
 #define rRTN	r3	/* Initial value of 1st argument.  */
c6d234
-#if __BOUNDED_POINTERS__
c6d234
-# define rMEMP0	r4	/* Original value of 1st arg.  */
c6d234
-# define rCHR	r5	/* Char to set in each byte.  */
c6d234
-# define rLEN	r6	/* Length of region to set.  */
c6d234
-# define rMEMP	r10	/* Address at which we are storing.  */
c6d234
-#else
c6d234
-# define rMEMP0	r3	/* Original value of 1st arg.  */
c6d234
-# define rCHR	r4	/* Char to set in each byte.  */
c6d234
-# define rLEN	r5	/* Length of region to set.  */
c6d234
-# define rMEMP	r6	/* Address at which we are storing.  */
c6d234
-#endif
c6d234
+#define rMEMP0	r3	/* Original value of 1st arg.  */
c6d234
+#define rCHR	r4	/* Char to set in each byte.  */
c6d234
+#define rLEN	r5	/* Length of region to set.  */
c6d234
+#define rMEMP	r6	/* Address at which we are storing.  */
c6d234
 #define rALIGN	r7	/* Number of bytes we are setting now (when aligning). */
c6d234
 #define rMEMP2	r8
c6d234
 
c6d234
@@ -52,14 +43,6 @@ EALIGN (BP_SYM (memset), 5, 0)
c6d234
 #define rCLS	r8	/* Cache line size obtained from static.  */
c6d234
 #define rCLM	r9	/* Cache line size mask to check for cache alignment.  */
c6d234
 L(_memset):
c6d234
-#if __BOUNDED_POINTERS__
c6d234
-	cmpldi	cr1, rRTN, 0
c6d234
-	CHECK_BOUNDS_BOTH_WIDE (rMEMP0, rTMP, rTMP2, rLEN)
c6d234
-	beq	cr1, L(b0)
c6d234
-	STORE_RETURN_VALUE (rMEMP0)
c6d234
-	STORE_RETURN_BOUNDS (rTMP, rTMP2)
c6d234
-L(b0):
c6d234
-#endif
c6d234
 /* Take care of case for size <= 4.  */
c6d234
 	cmpldi	cr1, rLEN, 8
c6d234
 	andi.	rALIGN, rMEMP0, 7
c6d234
@@ -250,27 +233,18 @@ L(medium_27f):
c6d234
 L(medium_28t):
c6d234
 	std	rCHR, -8(rMEMP)
c6d234
 	blr
c6d234
-END_GEN_TB (BP_SYM (memset),TB_TOCLESS)
c6d234
+END_GEN_TB (memset,TB_TOCLESS)
c6d234
 libc_hidden_builtin_def (memset)
c6d234
 
c6d234
 #ifndef NO_BZERO_IMPL
c6d234
 /* Copied from bzero.S to prevent the linker from inserting a stub
c6d234
    between bzero and memset.  */
c6d234
-ENTRY (BP_SYM (__bzero))
c6d234
+ENTRY (__bzero)
c6d234
 	CALL_MCOUNT 3
c6d234
-#if __BOUNDED_POINTERS__
c6d234
-	mr	r6,r4
c6d234
-	li	r5,0
c6d234
-	mr	r4,r3
c6d234
-	/* Tell memset that we don't want a return value.  */
c6d234
-	li	r3,0
c6d234
-	b	L(_memset)
c6d234
-#else
c6d234
 	mr	r5,r4
c6d234
 	li	r4,0
c6d234
 	b	L(_memset)
c6d234
-#endif
c6d234
-END_GEN_TB (BP_SYM (__bzero),TB_TOCLESS)
c6d234
+END_GEN_TB (__bzero,TB_TOCLESS)
c6d234
 
c6d234
-weak_alias (BP_SYM (__bzero), BP_SYM (bzero))
c6d234
+weak_alias (__bzero, bzero)
c6d234
 #endif
c6d234
diff --git a/sysdeps/powerpc/powerpc64/power4/strncmp.S b/sysdeps/powerpc/powerpc64/power4/strncmp.S
c6d234
index 2ce93040765b2321..412b92e585000f44 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/power4/strncmp.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/power4/strncmp.S
c6d234
@@ -17,14 +17,12 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 /* See strlen.s for comments on how the end-of-string testing works.  */
c6d234
 
c6d234
 /* int [r3] strncmp (const char *s1 [r3], const char *s2 [r4], size_t size [r5])  */
c6d234
 
c6d234
-EALIGN (BP_SYM(strncmp), 4, 0)
c6d234
+EALIGN (strncmp, 4, 0)
c6d234
 	CALL_MCOUNT 3
c6d234
 
c6d234
 #define rTMP2	r0
c6d234
@@ -32,9 +30,6 @@ EALIGN (BP_SYM(strncmp), 4, 0)
c6d234
 #define rSTR1	r3	/* first string arg */
c6d234
 #define rSTR2	r4	/* second string arg */
c6d234
 #define rN	r5	/* max string length */
c6d234
-/* Note:  The Bounded pointer support in this code is broken.  This code
c6d234
-   was inherited from PPC32 and that support was never completed.
c6d234
-   Current PPC gcc does not support -fbounds-check or -fbounded-pointers.  */
c6d234
 #define rWORD1	r6	/* current word in s1 */
c6d234
 #define rWORD2	r7	/* current word in s2 */
c6d234
 #define rWORD3  r10
c6d234
@@ -222,5 +217,5 @@ L(u4):	sub	rRTN, rWORD1, rWORD2
c6d234
 L(ux):
c6d234
 	li	rRTN, 0
c6d234
 	blr
c6d234
-END (BP_SYM (strncmp))
c6d234
+END (strncmp)
c6d234
 libc_hidden_builtin_def (strncmp)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/power6/memset.S b/sysdeps/powerpc/powerpc64/power6/memset.S
c6d234
index d2a8d3403f6058ce..b28d285232bbd595 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/power6/memset.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/power6/memset.S
c6d234
@@ -18,8 +18,6 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 /* __ptr_t [r3] memset (__ptr_t s [r3], int c [r4], size_t n [r5]));
c6d234
    Returns 's'.
c6d234
@@ -29,34 +27,19 @@
c6d234
    to 0, to take advantage of the dcbz instruction.  */
c6d234
 
c6d234
 	.machine power6
c6d234
-EALIGN (BP_SYM (memset), 7, 0)
c6d234
+EALIGN (memset, 7, 0)
c6d234
 	CALL_MCOUNT 3
c6d234
 
c6d234
 #define rTMP	r0
c6d234
 #define rRTN	r3	/* Initial value of 1st argument.  */
c6d234
-#if __BOUNDED_POINTERS__
c6d234
-# define rMEMP0	r4	/* Original value of 1st arg.  */
c6d234
-# define rCHR	r5	/* Char to set in each byte.  */
c6d234
-# define rLEN	r6	/* Length of region to set.  */
c6d234
-# define rMEMP	r10	/* Address at which we are storing.  */
c6d234
-#else
c6d234
-# define rMEMP0	r3	/* Original value of 1st arg.  */
c6d234
-# define rCHR	r4	/* Char to set in each byte.  */
c6d234
-# define rLEN	r5	/* Length of region to set.  */
c6d234
-# define rMEMP	r6	/* Address at which we are storing.  */
c6d234
-#endif
c6d234
+#define rMEMP0	r3	/* Original value of 1st arg.  */
c6d234
+#define rCHR	r4	/* Char to set in each byte.  */
c6d234
+#define rLEN	r5	/* Length of region to set.  */
c6d234
+#define rMEMP	r6	/* Address at which we are storing.  */
c6d234
 #define rALIGN	r7	/* Number of bytes we are setting now (when aligning). */
c6d234
 #define rMEMP2	r8
c6d234
 #define rMEMP3	r9	/* Alt mem pointer.  */
c6d234
 L(_memset):
c6d234
-#if __BOUNDED_POINTERS__
c6d234
-	cmpldi	cr1, rRTN, 0
c6d234
-	CHECK_BOUNDS_BOTH_WIDE (rMEMP0, rTMP, rTMP2, rLEN)
c6d234
-	beq	cr1, L(b0)
c6d234
-	STORE_RETURN_VALUE (rMEMP0)
c6d234
-	STORE_RETURN_BOUNDS (rTMP, rTMP2)
c6d234
-L(b0):
c6d234
-#endif
c6d234
 /* Take care of case for size <= 4.  */
c6d234
 	cmpldi	cr1, rLEN, 8
c6d234
 	andi.	rALIGN, rMEMP0, 7
c6d234
@@ -394,27 +377,18 @@ L(medium_27f):
c6d234
 L(medium_28t):
c6d234
 	std	rCHR, -8(rMEMP)
c6d234
 	blr
c6d234
-END_GEN_TB (BP_SYM (memset),TB_TOCLESS)
c6d234
+END_GEN_TB (memset,TB_TOCLESS)
c6d234
 libc_hidden_builtin_def (memset)
c6d234
 
c6d234
 #ifndef NO_BZERO_IMPL
c6d234
 /* Copied from bzero.S to prevent the linker from inserting a stub
c6d234
    between bzero and memset.  */
c6d234
-ENTRY (BP_SYM (__bzero))
c6d234
+ENTRY (__bzero)
c6d234
 	CALL_MCOUNT 3
c6d234
-#if __BOUNDED_POINTERS__
c6d234
-	mr	r6,r4
c6d234
-	li	r5,0
c6d234
-	mr	r4,r3
c6d234
-	/* Tell memset that we don't want a return value.  */
c6d234
-	li	r3,0
c6d234
-	b	L(_memset)
c6d234
-#else
c6d234
 	mr	r5,r4
c6d234
 	li	r4,0
c6d234
 	b	L(_memset)
c6d234
-#endif
c6d234
-END_GEN_TB (BP_SYM (__bzero),TB_TOCLESS)
c6d234
+END_GEN_TB (__bzero,TB_TOCLESS)
c6d234
 
c6d234
-weak_alias (BP_SYM (__bzero), BP_SYM (bzero))
c6d234
+weak_alias (__bzero, bzero)
c6d234
 #endif
c6d234
diff --git a/sysdeps/powerpc/powerpc64/power7/mempcpy.S b/sysdeps/powerpc/powerpc64/power7/mempcpy.S
c6d234
index ca524b584f1bcf92..17db88f65a87a198 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/power7/mempcpy.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/power7/mempcpy.S
c6d234
@@ -18,15 +18,13 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 
c6d234
 /* __ptr_t [r3] __mempcpy (__ptr_t dst [r3], __ptr_t src [r4], size_t len [r5]);
c6d234
     Returns 'dst' + 'len'.  */
c6d234
 
c6d234
 	.machine  power7
c6d234
-EALIGN (BP_SYM (__mempcpy), 5, 0)
c6d234
+EALIGN (__mempcpy, 5, 0)
c6d234
 	CALL_MCOUNT 3
c6d234
 
c6d234
 	cmpldi	cr1,5,31
c6d234
@@ -465,7 +463,7 @@ L(end_unaligned_loop):
c6d234
 	add	3,3,5
c6d234
 	blr
c6d234
 
c6d234
-END_GEN_TB (BP_SYM (__mempcpy),TB_TOCLESS)
c6d234
-libc_hidden_def (BP_SYM (__mempcpy))
c6d234
-weak_alias (BP_SYM (__mempcpy), BP_SYM (mempcpy))
c6d234
+END_GEN_TB (__mempcpy,TB_TOCLESS)
c6d234
+libc_hidden_def (__mempcpy)
c6d234
+weak_alias (__mempcpy, mempcpy)
c6d234
 libc_hidden_builtin_def (mempcpy)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/power7/memset.S b/sysdeps/powerpc/powerpc64/power7/memset.S
c6d234
index 0f7d03e19dd5d2b8..73c129a4c1f64dcd 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/power7/memset.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/power7/memset.S
c6d234
@@ -18,14 +18,12 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 /* __ptr_t [r3] memset (__ptr_t s [r3], int c [r4], size_t n [r5]));
c6d234
    Returns 's'.  */
c6d234
 
c6d234
 	.machine power7
c6d234
-EALIGN (BP_SYM (memset), 5, 0)
c6d234
+EALIGN (memset, 5, 0)
c6d234
 	CALL_MCOUNT 3
c6d234
 
c6d234
 L(_memset):
c6d234
@@ -382,18 +380,18 @@ L(small):
c6d234
 	stw	4,4(10)
c6d234
 	blr
c6d234
 
c6d234
-END_GEN_TB (BP_SYM (memset),TB_TOCLESS)
c6d234
+END_GEN_TB (memset,TB_TOCLESS)
c6d234
 libc_hidden_builtin_def (memset)
c6d234
 
c6d234
 #ifndef NO_BZERO_IMPL
c6d234
 /* Copied from bzero.S to prevent the linker from inserting a stub
c6d234
    between bzero and memset.  */
c6d234
-ENTRY (BP_SYM (__bzero))
c6d234
+ENTRY (__bzero)
c6d234
 	CALL_MCOUNT 3
c6d234
 	mr	r5,r4
c6d234
 	li	r4,0
c6d234
 	b	L(_memset)
c6d234
-END_GEN_TB (BP_SYM (__bzero),TB_TOCLESS)
c6d234
+END_GEN_TB (__bzero,TB_TOCLESS)
c6d234
 
c6d234
-weak_alias (BP_SYM (__bzero), BP_SYM (bzero))
c6d234
+weak_alias (__bzero, bzero)
c6d234
 #endif
c6d234
diff --git a/sysdeps/powerpc/powerpc64/power7/rawmemchr.S b/sysdeps/powerpc/powerpc64/power7/rawmemchr.S
c6d234
index 2eaaf2fc13004acc..17d79a10240dcd26 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/power7/rawmemchr.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/power7/rawmemchr.S
c6d234
@@ -18,12 +18,10 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 /* int [r3] rawmemchr (void *s [r3], int c [r4])  */
c6d234
 	.machine  power7
c6d234
-ENTRY (BP_SYM(__rawmemchr))
c6d234
+ENTRY (__rawmemchr)
c6d234
 	CALL_MCOUNT 2
c6d234
 	dcbt	0,r3
c6d234
 	clrrdi	r8,r3,3	      /* Align the address to doubleword boundary.  */
c6d234
@@ -108,6 +106,6 @@ L(done):
c6d234
 	srdi	r0,r0,3	      /* Convert leading zeros to bytes.  */
c6d234
 	add	r3,r8,r0      /* Return address of the matching char.  */
c6d234
 	blr
c6d234
-END (BP_SYM (__rawmemchr))
c6d234
+END (__rawmemchr)
c6d234
 weak_alias (__rawmemchr,rawmemchr)
c6d234
 libc_hidden_builtin_def (__rawmemchr)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/power7/strcasecmp.S b/sysdeps/powerpc/powerpc64/power7/strcasecmp.S
c6d234
index 47e2fefe59c59900..65c343e52493440c 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/power7/strcasecmp.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/power7/strcasecmp.S
c6d234
@@ -17,8 +17,6 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 #include <locale-defines.h>
c6d234
 
c6d234
 /* int [r3] strcasecmp (const char *s1 [r3], const char *s2 [r4] )
c6d234
@@ -33,7 +31,7 @@
c6d234
 # define STRCMP   strcasecmp
c6d234
 #endif
c6d234
 
c6d234
-ENTRY (BP_SYM (__STRCMP))
c6d234
+ENTRY (__STRCMP)
c6d234
 	CALL_MCOUNT 2
c6d234
 
c6d234
 #define rRTN	r3	/* Return value */
c6d234
@@ -118,7 +116,7 @@ L(done):
c6d234
 	subf	r0, rLWR2, rLWR1
c6d234
 	extsw	rRTN, r0
c6d234
 	blr
c6d234
-END (BP_SYM (__STRCMP))
c6d234
+END (__STRCMP)
c6d234
 
c6d234
-weak_alias (BP_SYM (__STRCMP), BP_SYM (STRCMP))
c6d234
+weak_alias (__STRCMP, STRCMP)
c6d234
 libc_hidden_builtin_def (__STRCMP)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/power7/strchr.S b/sysdeps/powerpc/powerpc64/power7/strchr.S
c6d234
index f840dfc8384b65db..ebba8ecad0045a75 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/power7/strchr.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/power7/strchr.S
c6d234
@@ -18,12 +18,10 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 /* int [r3] strchr (char *s [r3], int c [r4])  */
c6d234
 	.machine  power7
c6d234
-ENTRY (BP_SYM(strchr))
c6d234
+ENTRY (strchr)
c6d234
 	CALL_MCOUNT 2
c6d234
 	dcbt	0,r3
c6d234
 	clrrdi	r8,r3,3	      /* Align the address to doubleword boundary.  */
c6d234
@@ -223,6 +221,6 @@ L(done_null):
c6d234
 	srdi	r0,r0,3	      /* Convert leading zeros to bytes.  */
c6d234
 	add	r3,r8,r0      /* Return address of the matching null byte.  */
c6d234
 	blr
c6d234
-END (BP_SYM (strchr))
c6d234
-weak_alias (BP_SYM (strchr), BP_SYM (index))
c6d234
+END (strchr)
c6d234
+weak_alias (strchr, index)
c6d234
 libc_hidden_builtin_def (strchr)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/power7/strchrnul.S b/sysdeps/powerpc/powerpc64/power7/strchrnul.S
c6d234
index 388d4e91a70dbf7a..8d34dc7d8d8450ae 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/power7/strchrnul.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/power7/strchrnul.S
c6d234
@@ -18,12 +18,10 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 /* int [r3] strchrnul (char *s [r3], int c [r4])  */
c6d234
 	.machine  power7
c6d234
-ENTRY (BP_SYM(__strchrnul))
c6d234
+ENTRY (__strchrnul)
c6d234
 	CALL_MCOUNT 2
c6d234
 	dcbt	0,r3
c6d234
 	clrrdi	r8,r3,3	      /* Align the address to doubleword boundary.  */
c6d234
@@ -125,6 +123,6 @@ L(done):
c6d234
 	srdi	r0,r0,3	      /* Convert leading zeros to bytes.  */
c6d234
 	add	r3,r8,r0      /* Return address of matching c/null byte.  */
c6d234
 	blr
c6d234
-END (BP_SYM (__strchrnul))
c6d234
+END (__strchrnul)
c6d234
 weak_alias (__strchrnul,strchrnul)
c6d234
 libc_hidden_builtin_def (__strchrnul)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/power7/strlen.S b/sysdeps/powerpc/powerpc64/power7/strlen.S
c6d234
index 39bca5ae288bc098..88b9d921ccbaf403 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/power7/strlen.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/power7/strlen.S
c6d234
@@ -18,12 +18,10 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 /* int [r3] strlen (char *s [r3])  */
c6d234
 	.machine  power7
c6d234
-ENTRY (BP_SYM (strlen))
c6d234
+ENTRY (strlen)
c6d234
 	CALL_MCOUNT 1
c6d234
 	dcbt	0,r3
c6d234
 	clrrdi	r4,r3,3	      /* Align the address to doubleword boundary.  */
c6d234
@@ -101,5 +99,5 @@ L(done):
c6d234
 	srdi	r0,r0,3	      /* Convert leading/trailing zeros to bytes.  */
c6d234
 	add	r3,r5,r0      /* Compute final length.  */
c6d234
 	blr
c6d234
-END (BP_SYM (strlen))
c6d234
+END (strlen)
c6d234
 libc_hidden_builtin_def (strlen)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/power7/strncmp.S b/sysdeps/powerpc/powerpc64/power7/strncmp.S
c6d234
index d356bffab448a80e..349f5c6e4182f364 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/power7/strncmp.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/power7/strncmp.S
c6d234
@@ -17,8 +17,6 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 /* See strlen.s for comments on how the end-of-string testing works.  */
c6d234
 
c6d234
@@ -26,7 +24,7 @@
c6d234
 		     const char *s2 [r4],
c6d234
 		     size_t size [r5])  */
c6d234
 
c6d234
-EALIGN (BP_SYM(strncmp),5,0)
c6d234
+EALIGN (strncmp,5,0)
c6d234
 	CALL_MCOUNT 3
c6d234
 
c6d234
 #define rTMP2	r0
c6d234
@@ -34,9 +32,6 @@ EALIGN (BP_SYM(strncmp),5,0)
c6d234
 #define rSTR1	r3	/* first string arg */
c6d234
 #define rSTR2	r4	/* second string arg */
c6d234
 #define rN	r5	/* max string length */
c6d234
-/* Note:  The Bounded pointer support in this code is broken.  This code
c6d234
-   was inherited from PPC32 and that support was never completed.
c6d234
-   Current PPC gcc does not support -fbounds-check or -fbounded-pointers.  */
c6d234
 #define rWORD1	r6	/* current word in s1 */
c6d234
 #define rWORD2	r7	/* current word in s2 */
c6d234
 #define rWORD3  r10
c6d234
@@ -224,5 +219,5 @@ L(u4):	sub	rRTN,rWORD1,rWORD2
c6d234
 L(ux):
c6d234
 	li	rRTN,0
c6d234
 	blr
c6d234
-END (BP_SYM (strncmp))
c6d234
+END (strncmp)
c6d234
 libc_hidden_builtin_def (strncmp)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/power7/strnlen.S b/sysdeps/powerpc/powerpc64/power7/strnlen.S
c6d234
index 0a440258fa67fccb..a68a839a032db21e 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/power7/strnlen.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/power7/strnlen.S
c6d234
@@ -18,12 +18,10 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 /* int [r3] strnlen (char *s [r3], int size [r4])  */
c6d234
 	.machine  power7
c6d234
-ENTRY (BP_SYM (__strnlen))
c6d234
+ENTRY (__strnlen)
c6d234
 	CALL_MCOUNT 2
c6d234
 	dcbt	0,r3
c6d234
 	clrrdi	r8,r3,3
c6d234
@@ -174,6 +172,6 @@ L(loop_small):
c6d234
 	mr	r3,r4
c6d234
 	blr
c6d234
 
c6d234
-END (BP_SYM (__strnlen))
c6d234
-weak_alias (BP_SYM (__strnlen), BP_SYM(strnlen))
c6d234
+END (__strnlen)
c6d234
+weak_alias (__strnlen, strnlen)
c6d234
 libc_hidden_builtin_def (strnlen)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/setjmp-common.S b/sysdeps/powerpc/powerpc64/setjmp-common.S
c6d234
index e8c6e0adfdc88f93..5b1fdcdedd6963c1 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/setjmp-common.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/setjmp-common.S
c6d234
@@ -23,8 +23,6 @@
c6d234
 #else
c6d234
 #include <jmpbuf-offsets.h>
c6d234
 #endif
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 #ifndef __NO_VMX__
c6d234
 	.section	".toc","aw"
c6d234
@@ -73,7 +71,6 @@ libc_hidden_def (_setjmp)
c6d234
 ENTRY (__sigsetjmp)
c6d234
 	CALL_MCOUNT 2
c6d234
 JUMPTARGET(GLUE(__sigsetjmp,_ent)):
c6d234
-	CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
c6d234
 #ifdef PTR_MANGLE
c6d234
 	mr   r5, r1
c6d234
 	PTR_MANGLE (r5, r6)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/start.S b/sysdeps/powerpc/powerpc64/start.S
c6d234
index aadaf0fae862b017..d69896f7ebb43bb9 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/start.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/start.S
c6d234
@@ -35,7 +35,6 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include "bp-sym.h"
c6d234
 
c6d234
 /* We do not want .eh_frame info for crt1.o since crt1.o is linked
c6d234
    before crtbegin.o, the file defining __EH_FRAME_BEGIN__.  */
c6d234
@@ -54,7 +53,7 @@
c6d234
 L(start_addresses):
c6d234
 	.quad	0 /* was _SDA_BASE_  but not in 64-bit ABI*/
c6d234
 /*     function descriptors so don't need JUMPTARGET */
c6d234
-	.quad	BP_SYM(main)
c6d234
+	.quad	main
c6d234
 	.quad 	__libc_csu_init
c6d234
 	.quad 	__libc_csu_fini
c6d234
 
c6d234
@@ -79,7 +78,7 @@ ENTRY(_start)
c6d234
 	ld	r8,.L01(r2)
c6d234
 
c6d234
  /* and continue in libc-start, in glibc.  */
c6d234
-	b	JUMPTARGET(BP_SYM(__libc_start_main))
c6d234
+	b	JUMPTARGET(__libc_start_main)
c6d234
 /* The linker needs this nop to recognize that it's OK to call via a
c6d234
    TOC adjusting stub.  */
c6d234
 	nop
c6d234
diff --git a/sysdeps/powerpc/powerpc64/strchr.S b/sysdeps/powerpc/powerpc64/strchr.S
c6d234
index 0df4c3d8a303167c..72858903342d35ec 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/strchr.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/strchr.S
c6d234
@@ -17,32 +17,19 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 /* See strlen.s for comments on how this works.  */
c6d234
 
c6d234
 /* char * [r3] strchr (const char *s [r3] , int c [r4] )  */
c6d234
 
c6d234
-ENTRY (BP_SYM (strchr))
c6d234
+ENTRY (strchr)
c6d234
 	CALL_MCOUNT 2
c6d234
 
c6d234
 #define rTMP1	r0
c6d234
 #define rRTN	r3	/* outgoing result */
c6d234
-/* Note:  The Bounded pointer support in this code is broken.  This code
c6d234
-   was inherited from PPC32 and that support was never completed.
c6d234
-   Currently PPC gcc does not support -fbounds-check or -fbounded-pointers.
c6d234
-   These artifacts are left in the code as a reminder in case we need
c6d234
-   bounded pointer support in the future.  */
c6d234
-#if __BOUNDED_POINTERS__
c6d234
-# define rSTR	r4
c6d234
-# define rCHR	r5	/* byte we're looking for, spread over the whole word */
c6d234
-# define rWORD	r8	/* the current word */
c6d234
-#else
c6d234
-# define rSTR	r8	/* current word pointer */
c6d234
-# define rCHR	r4	/* byte we're looking for, spread over the whole word */
c6d234
-# define rWORD	r5	/* the current word */
c6d234
-#endif
c6d234
+#define rSTR	r8	/* current word pointer */
c6d234
+#define rCHR	r4	/* byte we're looking for, spread over the whole word */
c6d234
+#define rWORD	r5	/* the current word */
c6d234
 #define rCLZB	rCHR	/* leading zero byte count */
c6d234
 #define rFEFE	r6	/* constant 0xfefefefefefefeff (-0x0101010101010101) */
c6d234
 #define r7F7F	r7	/* constant 0x7f7f7f7f7f7f7f7f */
c6d234
@@ -53,9 +40,6 @@ ENTRY (BP_SYM (strchr))
c6d234
 #define rTMP4	rIGN
c6d234
 #define rTMP5	rMASK
c6d234
 
c6d234
-	CHECK_BOUNDS_LOW (rSTR, rTMP1, rTMP2)
c6d234
-	STORE_RETURN_BOUNDS (rTMP1, rTMP2)
c6d234
-
c6d234
 	dcbt	0,rRTN
c6d234
 	insrdi	rCHR, rCHR, 8, 48
c6d234
 	li	rMASK, -1
c6d234
@@ -107,7 +91,6 @@ L(loopentry):
c6d234
    zero byte, in which case we return a match.  */
c6d234
 	and.	rTMP5, rTMP1, rTMP2
c6d234
 	li	rRTN, 0
c6d234
-	STORE_RETURN_VALUE (rSTR)
c6d234
 	beqlr
c6d234
 /* At this point:
c6d234
    rTMP5 bytes are 0x80 for each match of c, 0 otherwise.
c6d234
@@ -142,8 +125,6 @@ L(loopentry):
c6d234
 #endif
c6d234
 	srdi	rCLZB, rCLZB, 3
c6d234
 	add	rRTN, rSTR, rCLZB
c6d234
-	CHECK_BOUNDS_HIGH_RTN (rSTR, rTMP2, tdlge)
c6d234
-	STORE_RETURN_VALUE (rSTR)
c6d234
 	blr
c6d234
 
c6d234
 L(foundit):
c6d234
@@ -163,10 +144,8 @@ L(foundit):
c6d234
 	srdi	rCLZB, rCLZB, 3
c6d234
 #endif
c6d234
 	add	rRTN, rSTR, rCLZB
c6d234
-	CHECK_BOUNDS_HIGH_RTN (rSTR, rTMP2, tdlge)
c6d234
-	STORE_RETURN_VALUE (rSTR)
c6d234
 	blr
c6d234
-END (BP_SYM (strchr))
c6d234
+END (strchr)
c6d234
 
c6d234
-weak_alias (BP_SYM (strchr), BP_SYM (index))
c6d234
+weak_alias (strchr, index)
c6d234
 libc_hidden_builtin_def (strchr)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/strcmp.S b/sysdeps/powerpc/powerpc64/strcmp.S
c6d234
index c00774d5fb432ce8..6cfe53630b034622 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/strcmp.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/strcmp.S
c6d234
@@ -17,29 +17,18 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 /* See strlen.s for comments on how the end-of-string testing works.  */
c6d234
 
c6d234
 /* int [r3] strcmp (const char *s1 [r3], const char *s2 [r4])  */
c6d234
 
c6d234
-EALIGN (BP_SYM(strcmp), 4, 0)
c6d234
+EALIGN (strcmp, 4, 0)
c6d234
 	CALL_MCOUNT 2
c6d234
 
c6d234
 #define rTMP2	r0
c6d234
 #define rRTN	r3
c6d234
 #define rSTR1	r3	/* first string arg */
c6d234
 #define rSTR2	r4	/* second string arg */
c6d234
-/* Note:  The Bounded pointer support in this code is broken.  This code
c6d234
-   was inherited from PPC32 and that support was never completed.
c6d234
-   Current PPC gcc does not support -fbounds-check or -fbounded-pointers.
c6d234
-   These artifacts are left in the code as a reminder in case we need
c6d234
-   bounded pointer support in the future.  */
c6d234
-#if __BOUNDED_POINTERS__
c6d234
-# define rHIGH1	r11
c6d234
-# define rHIGH2 r12
c6d234
-#endif
c6d234
 #define rWORD1	r5	/* current word in s1 */
c6d234
 #define rWORD2	r6	/* current word in s2 */
c6d234
 #define rFEFE	r7	/* constant 0xfefefefefefefeff (-0x0101010101010101) */
c6d234
@@ -48,9 +37,6 @@ EALIGN (BP_SYM(strcmp), 4, 0)
c6d234
 #define rBITDIF	r10	/* bits that differ in s1 & s2 words */
c6d234
 #define rTMP	r11
c6d234
 
c6d234
-	CHECK_BOUNDS_LOW (rSTR1, rTMP, rHIGH1)
c6d234
-	CHECK_BOUNDS_LOW (rSTR2, rTMP, rHIGH2)
c6d234
-
c6d234
 	dcbt	0,rSTR1
c6d234
 	or	rTMP, rSTR2, rSTR1
c6d234
 	dcbt	0,rSTR2
c6d234
@@ -146,7 +132,6 @@ L(endstring):
c6d234
 	blr
c6d234
 L(equal):
c6d234
 	li	rRTN, 0
c6d234
-	/* GKM FIXME: check high bounds.  */
c6d234
 	blr
c6d234
 
c6d234
 L(different):
c6d234
@@ -184,11 +169,9 @@ L(u1):	cmpwi	cr1, rWORD1, 0
c6d234
 	cmpd	rWORD1, rWORD2
c6d234
 	bne+	cr1, L(u0)
c6d234
 L(u3):	sub	rRTN, rWORD1, rWORD2
c6d234
-	/* GKM FIXME: check high bounds.  */
c6d234
 	blr
c6d234
 L(u4):	lbz	rWORD1, -1(rSTR1)
c6d234
 	sub	rRTN, rWORD1, rWORD2
c6d234
-	/* GKM FIXME: check high bounds.  */
c6d234
 	blr
c6d234
-END (BP_SYM (strcmp))
c6d234
+END (strcmp)
c6d234
 libc_hidden_builtin_def (strcmp)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/strlen.S b/sysdeps/powerpc/powerpc64/strlen.S
c6d234
index 47032aa1b6d457f1..ab1e60cff1a2ec47 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/strlen.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/strlen.S
c6d234
@@ -17,8 +17,6 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 /* The algorithm here uses the following techniques:
c6d234
 
c6d234
@@ -82,7 +80,7 @@
c6d234
 
c6d234
 /* int [r3] strlen (char *s [r3])  */
c6d234
 
c6d234
-ENTRY (BP_SYM (strlen))
c6d234
+ENTRY (strlen)
c6d234
 	CALL_MCOUNT 1
c6d234
 
c6d234
 #define rTMP4	r0
c6d234
@@ -99,13 +97,6 @@ ENTRY (BP_SYM (strlen))
c6d234
 #define rTMP2	r11
c6d234
 #define rTMP3	r12
c6d234
 
c6d234
-/* Note:  The Bounded pointer support in this code is broken.  This code
c6d234
-   was inherited from PPC32 and that support was never completed.
c6d234
-   Current PPC gcc does not support -fbounds-check or -fbounded-pointers.
c6d234
-   These artifacts are left in the code as a reminder in case we need
c6d234
-   bounded pointer support in the future.  */
c6d234
-	CHECK_BOUNDS_LOW (rRTN, rTMP1, rTMP2)
c6d234
-
c6d234
 	dcbt	0,rRTN
c6d234
 	clrrdi	rSTR, rRTN, 3
c6d234
 	lis	r7F7F, 0x7f7f
c6d234
@@ -180,7 +171,6 @@ L(done0):
c6d234
 	subf	rTMP1, rRTN, rSTR
c6d234
 	srdi	rTMP3, rTMP3, 3
c6d234
 	add	rRTN, rTMP1, rTMP3
c6d234
-	/* GKM FIXME: check high bound.  */
c6d234
 	blr
c6d234
 #else
c6d234
 
c6d234
@@ -205,5 +195,5 @@ L(done1):
c6d234
 	blr
c6d234
 #endif
c6d234
 
c6d234
-END (BP_SYM (strlen))
c6d234
+END (strlen)
c6d234
 libc_hidden_builtin_def (strlen)
c6d234
diff --git a/sysdeps/powerpc/powerpc64/strncmp.S b/sysdeps/powerpc/powerpc64/strncmp.S
c6d234
index 18c73f4f64f6d98f..89a7d6f3ea6c138c 100644
c6d234
--- a/sysdeps/powerpc/powerpc64/strncmp.S
c6d234
+++ b/sysdeps/powerpc/powerpc64/strncmp.S
c6d234
@@ -17,14 +17,12 @@
c6d234
    <http://www.gnu.org/licenses/>.  */
c6d234
 
c6d234
 #include <sysdep.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 /* See strlen.s for comments on how the end-of-string testing works.  */
c6d234
 
c6d234
 /* int [r3] strncmp (const char *s1 [r3], const char *s2 [r4], size_t size [r5])  */
c6d234
 
c6d234
-EALIGN (BP_SYM(strncmp), 4, 0)
c6d234
+EALIGN (strncmp, 4, 0)
c6d234
 	CALL_MCOUNT 3
c6d234
 
c6d234
 #define rTMP2	r0
c6d234
@@ -32,9 +30,6 @@ EALIGN (BP_SYM(strncmp), 4, 0)
c6d234
 #define rSTR1	r3	/* first string arg */
c6d234
 #define rSTR2	r4	/* second string arg */
c6d234
 #define rN	r5	/* max string length */
c6d234
-/* Note:  The Bounded pointer support in this code is broken.  This code
c6d234
-   was inherited from PPC32 and that support was never completed.
c6d234
-   Current PPC gcc does not support -fbounds-check or -fbounded-pointers.  */
c6d234
 #define rWORD1	r6	/* current word in s1 */
c6d234
 #define rWORD2	r7	/* current word in s2 */
c6d234
 #define rFEFE	r8	/* constant 0xfefefefefefefeff (-0x0101010101010101) */
c6d234
@@ -207,5 +202,5 @@ L(u1):
c6d234
 L(u2):	lbzu	rWORD1, -1(rSTR1)	
c6d234
 L(u3):	sub	rRTN, rWORD1, rWORD2
c6d234
 	blr
c6d234
-END (BP_SYM (strncmp))
c6d234
+END (strncmp)
c6d234
 libc_hidden_builtin_def (strncmp)
c6d234
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S
c6d234
index 3ea61af161584a58..562f74702b7dfbd8 100644
c6d234
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S
c6d234
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S
c6d234
@@ -19,17 +19,14 @@
c6d234
 #include <sysdep.h>
c6d234
 #define _ERRNO_H	1
c6d234
 #include <bits/errno.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 	.comm	__curbrk,8,8
c6d234
 	.section	".toc","aw"
c6d234
 .LC__curbrk:
c6d234
 	.tc __curbrk[TC],__curbrk
c6d234
 	.section ".text"
c6d234
-ENTRY (BP_SYM (__brk))
c6d234
+ENTRY (__brk)
c6d234
 	CALL_MCOUNT 1
c6d234
-	DISCARD_BOUNDS (r3)	/* the bounds are meaningless, so toss 'em.  */
c6d234
 
c6d234
 	std	r3,-8(r1)
c6d234
 	DO_CALL(SYS_ify(brk))
c6d234
@@ -41,6 +38,6 @@ ENTRY (BP_SYM (__brk))
c6d234
 	blelr+
c6d234
 	li      r3,ENOMEM
c6d234
 	TAIL_CALL_SYSCALL_ERROR
c6d234
-END (BP_SYM (__brk))
c6d234
+END (__brk)
c6d234
 
c6d234
-weak_alias (BP_SYM (__brk), BP_SYM (brk))
c6d234
+weak_alias (__brk, brk)
c6d234
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
c6d234
index e3fa5f55b92834b9..87c0797058558288 100644
c6d234
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
c6d234
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
c6d234
@@ -19,8 +19,6 @@
c6d234
 #include <sysdep.h>
c6d234
 #define _ERRNO_H	1
c6d234
 #include <bits/errno.h>
c6d234
-#include <bp-sym.h>
c6d234
-#include <bp-asm.h>
c6d234
 
c6d234
 #define CLONE_VM	0x00000100
c6d234
 #define CLONE_THREAD	0x00010000
c6d234
@@ -33,11 +31,8 @@
c6d234
                   int flags [r5], void *arg [r6], void *parent_tid [r7],
c6d234
                   void *tls [r8], void *child_tid [r9]); */
c6d234
 
c6d234
-ENTRY (BP_SYM (__clone))
c6d234
+ENTRY (__clone)
c6d234
 	CALL_MCOUNT 7
c6d234
-	/* GKM FIXME: add bounds checks, where sensible.  */
c6d234
-	DISCARD_BOUNDS (r4)
c6d234
-	DISCARD_BOUNDS (r6)
c6d234
 
c6d234
 	/* Check for child_stack == NULL || fn == NULL.  */
c6d234
 	cmpdi	cr0,r4,0
c6d234
@@ -142,6 +137,6 @@ L(parent):
c6d234
 	cfi_restore(r31)
c6d234
 	PSEUDO_RET
c6d234
 
c6d234
-END (BP_SYM (__clone))
c6d234
+END (__clone)
c6d234
 
c6d234
-weak_alias (BP_SYM (__clone), BP_SYM (clone))
c6d234
+weak_alias (__clone, clone)