Remove powerpc64 bounded-pointers code.
authorJoseph Myers <joseph@codesourcery.com>
Wed, 6 Mar 2013 00:10:21 +0000 (00:10 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Wed, 6 Mar 2013 00:10:21 +0000 (00:10 +0000)
38 files changed:
ChangeLog
NEWS
sysdeps/generic/bp-sym.h [deleted file]
sysdeps/powerpc/powerpc64/__longjmp-common.S
sysdeps/powerpc/powerpc64/a2/memcpy.S
sysdeps/powerpc/powerpc64/bp-asm.h [deleted file]
sysdeps/powerpc/powerpc64/cell/memcpy.S
sysdeps/powerpc/powerpc64/memcpy.S
sysdeps/powerpc/powerpc64/memset.S
sysdeps/powerpc/powerpc64/power4/memcmp.S
sysdeps/powerpc/powerpc64/power4/memcpy.S
sysdeps/powerpc/powerpc64/power4/memset.S
sysdeps/powerpc/powerpc64/power4/strncmp.S
sysdeps/powerpc/powerpc64/power6/memcpy.S
sysdeps/powerpc/powerpc64/power6/memset.S
sysdeps/powerpc/powerpc64/power7/memchr.S
sysdeps/powerpc/powerpc64/power7/memcmp.S
sysdeps/powerpc/powerpc64/power7/memcpy.S
sysdeps/powerpc/powerpc64/power7/mempcpy.S
sysdeps/powerpc/powerpc64/power7/memrchr.S
sysdeps/powerpc/powerpc64/power7/memset.S
sysdeps/powerpc/powerpc64/power7/rawmemchr.S
sysdeps/powerpc/powerpc64/power7/strcasecmp.S
sysdeps/powerpc/powerpc64/power7/strchr.S
sysdeps/powerpc/powerpc64/power7/strchrnul.S
sysdeps/powerpc/powerpc64/power7/strlen.S
sysdeps/powerpc/powerpc64/power7/strncmp.S
sysdeps/powerpc/powerpc64/power7/strnlen.S
sysdeps/powerpc/powerpc64/setjmp-common.S
sysdeps/powerpc/powerpc64/start.S
sysdeps/powerpc/powerpc64/stpcpy.S
sysdeps/powerpc/powerpc64/strchr.S
sysdeps/powerpc/powerpc64/strcmp.S
sysdeps/powerpc/powerpc64/strcpy.S
sysdeps/powerpc/powerpc64/strlen.S
sysdeps/powerpc/powerpc64/strncmp.S
sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S
sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S

index b1e02a7..e7fa53a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,149 @@
+2013-03-06  Joseph Myers  <joseph@codesourcery.com>
+
+       [BZ #13550]
+       * sysdeps/generic/bp-sym.h: Remove file.
+       * sysdeps/powerpc/powerpc64/bp-asm.h: Likewise.
+       * sysdeps/powerpc/powerpc64/__longjmp-common.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (__longjmp): Don't use BP_SYM.
+       * sysdeps/powerpc/powerpc64/a2/memcpy.S: Don't include <bp-sym.h>
+       and <bp-asm.h>.
+       (memcpy): Don't use BP_SYM.
+       * sysdeps/powerpc/powerpc64/cell/memcpy.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (memcpy): Don't use BP_SYM.
+       * sysdeps/powerpc/powerpc64/memcpy.S: Don't include <bp-sym.h> and
+       <bp-asm.h>.
+       (memcpy): Don't use BP_SYM.
+       * sysdeps/powerpc/powerpc64/memset.S: Don't include <bp-sym.h> and
+       <bp-asm.h>.
+       (memset): Don't use BP_SYM.
+       (memset) [__BOUNDED_POINTERS__]: Remove conditional code.
+       (memset) [!__BOUNDED_POINTERS__]: Make code unconditional.
+       (__bzero): Don't use BP_SYM.
+       (__bzero) [__BOUNDED_POINTERS__]: Remove conditional code.
+       (__bzero) [!__BOUNDED_POINTERS__]: Make code unconditional.
+       * sysdeps/powerpc/powerpc64/power4/memcmp.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (memcmp): Don't use BP_SYM.  Remove comment about bounded
+       pointers.
+       * sysdeps/powerpc/powerpc64/power4/memcpy.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (memcpy): Don't use BP_SYM.
+       * sysdeps/powerpc/powerpc64/power4/memset.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (memset): Don't use BP_SYM.
+       (memset) [__BOUNDED_POINTERS__]: Remove conditional code.
+       (memset) [!__BOUNDED_POINTERS__]: Make code unconditional.
+       (__bzero): Don't use BP_SYM.
+       (__bzero) [__BOUNDED_POINTERS__]: Remove conditional code.
+       (__bzero) [!__BOUNDED_POINTERS__]: Make code unconditional.
+       * sysdeps/powerpc/powerpc64/power4/strncmp.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (strncmp): Don't use BP_SYM.  Remove comment about bounded
+       pointers.
+       * sysdeps/powerpc/powerpc64/power6/memcpy.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (memcpy): Don't use BP_SYM.
+       * sysdeps/powerpc/powerpc64/power6/memset.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (memset): Don't use BP_SYM.
+       (memset) [__BOUNDED_POINTERS__]: Remove conditional code.
+       (memset) [!__BOUNDED_POINTERS__]: Make code unconditional.
+       (__bzero): Don't use BP_SYM.
+       (__bzero) [__BOUNDED_POINTERS__]: Remove conditional code.
+       (__bzero) [!__BOUNDED_POINTERS__]: Make code unconditional.
+       * sysdeps/powerpc/powerpc64/power7/memchr.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (__memchr): Don't use BP_SYM.
+       * sysdeps/powerpc/powerpc64/power7/memcmp.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (memcmp): Don't use BP_SYM.  Remove comment about bounded
+       pointers.
+       * sysdeps/powerpc/powerpc64/power7/memcpy.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (memcpy): Don't use BP_SYM.
+       * sysdeps/powerpc/powerpc64/power7/mempcpy.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (__mempcpy): Don't use BP_SYM.
+       * sysdeps/powerpc/powerpc64/power7/memrchr.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (__memrchr): Don't use BP_SYM.
+       * sysdeps/powerpc/powerpc64/power7/memset.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (memset): Don't use BP_SYM.
+       (__bzero): Likewise.
+       * sysdeps/powerpc/powerpc64/power7/rawmemchr.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (__rawmemchr): Don't use BP_SYM.
+       * sysdeps/powerpc/powerpc64/power7/strcasecmp.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (__STRCMP): Don't use BP_SYM.
+       * sysdeps/powerpc/powerpc64/power7/strchr.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (strchr): Don't use BP_SYM.
+       * sysdeps/powerpc/powerpc64/power7/strchrnul.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (__strchrnul): Don't use BP_SYM.
+       * sysdeps/powerpc/powerpc64/power7/strlen.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (strlen): Don't use BP_SYM.
+       * sysdeps/powerpc/powerpc64/power7/strncmp.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (strncmp): Don't use BP_SYM.  Remove comment about bounded
+       pointers.
+       * sysdeps/powerpc/powerpc64/power7/strnlen.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (__strnlen): Don't use BP_SYM.
+       * sysdeps/powerpc/powerpc64/setjmp-common.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (__GI__setjmp): Don't use BP_SYM.
+       (_setjmp): Likewise.
+       (__sigsetjmp): Likewise.
+       * sysdeps/powerpc/powerpc64/start.S: Don't include "bp-sym.h".
+       (L(start_addresses)): Don't use BP_SYM.
+       (_start): Likewise.
+       * sysdeps/powerpc/powerpc64/stpcpy.S: Don't include <bp-sym.h> and
+       <bp-asm.h>.
+       (__stpcpy): Don't use BP_SYM, CHECK_BOUNDS_LOW,
+       STORE_RETURN_BOUNDS, CHECK_BOUNDS_HIGH and STORE_RETURN_VALUE.
+       (__stpcpy) [__BOUNDED_POINTERS__]: Remove conditional code.
+       (__stpcpy) [!__BOUNDED_POINTERS__]: Make code unconditional.
+       * sysdeps/powerpc/powerpc64/strchr.S: Don't include <bp-sym.h> and
+       <bp-asm.h>.
+       (strchr): Don't use BP_SYM, CHECK_BOUNDS_LOW, STORE_RETURN_BOUNDS,
+       CHECK_BOUNDS_HIGH_RTN and STORE_RETURN_VALUE.  Remove comment
+       about bounded pointers.
+       (strchr) [__BOUNDED_POINTERS__]: Remove conditional code.
+       (strchr) [!__BOUNDED_POINTERS__]: Make code unconditional.
+       * sysdeps/powerpc/powerpc64/strcmp.S: Don't include <bp-sym.h> and
+       <bp-asm.h>.
+       (strcmp): Don't use BP_SYM and CHECK_BOUNDS_LOW.  Remove comment
+       about bounded pointers.  Remove GKM FIXME comments.
+       (strcmp) [__BOUNDED_POINTERS__]: Remove conditional code.
+       * sysdeps/powerpc/powerpc64/strcpy.S: Don't include <bp-sym.h> and
+       <bp-asm.h>.
+       (strcpy): Don't use BP_SYM, CHECK_BOUNDS_LOW and
+       STORE_RETURN_BOUNDS.  Remove comment about bounded pointers.
+       Remove GKM FIXME comments.
+       (strcpy) [__BOUNDED_POINTERS__]: Remove conditional code.
+       (strcpy) [!__BOUNDED_POINTERS__]: Make code unconditional.
+       * sysdeps/powerpc/powerpc64/strlen.S: Don't include <bp-sym.h> and
+       <bp-asm.h>.
+       (strlen): Don't use BP_SYM and CHECK_BOUNDS_LOW.  Remove comment
+       about bounded pointers.  Remove GKM FIXME comment.
+       * sysdeps/powerpc/powerpc64/strncmp.S: Don't include <bp-sym.h>
+       and <bp-asm.h>.
+       (strncmp): Don't use BP_SYM.  Remove comment about bounded
+       pointers.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (__brk): Don't use BP_SYM and DISCARD_BOUNDS.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Don't include
+       <bp-sym.h> and <bp-asm.h>.
+       (__clone): Don't use BP_SYM and DISCARD_BOUNDS.  Remove GKM FIXME
+       comment.
+
 2013-03-05  Paul Pluzhnikov  <ppluzhnikov@google.com>
 
        * stdio-common/vfprintf.c (vfprintf): Check malloc return; don't
diff --git a/NEWS b/NEWS
index 7ece484..a12b1c8 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,9 +9,9 @@ Version 2.18
 
 * The following bugs are resolved with this release:
 
-  11561, 13951, 14142, 14200, 14317, 14327, 14496, 14920, 14964, 14981,
-  14982, 14985, 14994, 14996, 15003, 15006, 15020, 15023, 15036, 15054,
-  15055, 15062, 15078, 15160.
+  11561, 13550, 13951, 14142, 14200, 14317, 14327, 14496, 14920, 14964,
+  14981, 14982, 14985, 14994, 14996, 15003, 15006, 15020, 15023, 15036,
+  15054, 15055, 15062, 15078, 15160.
 
 * Add support for calling C++11 thread_local object destructors on thread
   and program exit.  This needs compiler support for offloading C++11
diff --git a/sysdeps/generic/bp-sym.h b/sysdeps/generic/bp-sym.h
deleted file mode 100644 (file)
index 089912a..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Bounded-pointer symbol modifier.
-   Copyright (C) 2000-2013 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Greg McGary <greg@mcgary.org>
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#define BP_SYM(name) _BP_SYM (name)
-#if __BOUNDED_POINTERS__
-# define _BP_SYM(name) __BP_##name
-#else
-# define _BP_SYM(name) name
-#endif
index 1803275..70c3704 100644 (file)
@@ -24,8 +24,6 @@
 #else
 # include <jmpbuf-offsets.h>
 #endif
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 #ifndef __NO_VMX__
        .section        ".toc","aw"
@@ -45,9 +43,8 @@
 #endif
 
        .machine        "altivec"
-ENTRY (BP_SYM (__longjmp))
+ENTRY (__longjmp)
        CALL_MCOUNT 2
-       CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
 #ifndef __NO_VMX__
        ld    r5,.LC__dl_hwcap@toc(r2)
 # ifdef SHARED
@@ -178,4 +175,4 @@ L(no_vmx):
        lfd fp31,((JB_FPRS+17)*8)(r3)
        mr r3,r4
        blr
-END (BP_SYM (__longjmp))
+END (__longjmp)
index 42ec5e3..84c82bb 100644 (file)
@@ -18,8 +18,6 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 #define PREFETCH_AHEAD 4        /* no cache lines SRC prefetching ahead  */
 #define ZERO_AHEAD 2            /* no cache lines DST zeroing ahead  */
@@ -32,7 +30,7 @@
 
 
        .machine  a2
-EALIGN (BP_SYM (memcpy), 5, 0)
+EALIGN (memcpy, 5, 0)
        CALL_MCOUNT 3
 
        dcbt    0,r4            /* Prefetch ONE SRC cacheline  */
@@ -522,5 +520,5 @@ L(endloop2_128):
        b       L(lessthancacheline)
 
 
-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/bp-asm.h b/sysdeps/powerpc/powerpc64/bp-asm.h
deleted file mode 100644 (file)
index 6c6c387..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Bounded-pointer definitions for PowerPC64 assembler.
-   Copyright (C) 2000-2013 Free Software Foundation, Inc.
-   Contributed by Greg McGary <greg@mcgary.org>
-
-   This file is part of the GNU C Library.  Its master source is NOT part of
-   the C library, however.  The master source lives in the GNU MP Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-#if __BOUNDED_POINTERS__
-
-/* Byte offsets of BP components.  */
-# define oVALUE        0
-# define oLOW  4
-# define oHIGH 8
-
-/* Don't check bounds, just convert the BP register to its simple
-   pointer value.  */
-
-# define DISCARD_BOUNDS(rBP)                   \
-       ld      rBP, oVALUE(rBP)
-
-/* Check low bound, with the side effect that the BP register is converted
-   its simple pointer value.  Move the high bound into a register for
-   later use.  */
-
-# define CHECK_BOUNDS_LOW(rBP, rLOW, rHIGH)    \
-       ld      rHIGH, oHIGH(rBP);              \
-       ld      rLOW, oLOW(rBP);                \
-       ld      rBP, oVALUE(rBP);               \
-       tdllt   rBP, rLOW
-
-/* Check the high bound, which is in a register, using the given
-   conditional trap instruction.  */
-
-# define CHECK_BOUNDS_HIGH(rVALUE, rHIGH, TWLcc) \
-       TWLcc   rVALUE, rHIGH
-
-/* Check the high bound, which is stored at the return-value's high
-   bound slot, using the given conditional trap instruction.  */
-
-# define CHECK_BOUNDS_HIGH_RTN(rVALUE, rHIGH, TWLcc)   \
-       ld      rHIGH, oHIGH(rRTN);                     \
-       TWLcc   rVALUE, rHIGH
-
-/* Check both bounds, with the side effect that the BP register is
-   converted to its simple pointer value.  */
-
-# define CHECK_BOUNDS_BOTH(rBP, rLOW, rHIGH)   \
-       CHECK_BOUNDS_LOW(rBP, rLOW, rHIGH);     \
-       tdlge   rBP, rHIGH
-
-/* Check bounds on a memory region of given length, with the side
-   effect that the BP register is converted to its simple pointer
-   value.  */
-
-# define CHECK_BOUNDS_BOTH_WIDE(rBP, rLOW, rHIGH, rLENGTH)     \
-       CHECK_BOUNDS_LOW (rBP, rLOW, rHIGH);                    \
-       sub     rHIGH, rHIGH, rLENGTH;                          \
-       tdlgt   rBP, rHIGH
-
-# define CHECK_BOUNDS_BOTH_WIDE_LIT(rBP, rLOW, rHIGH, LENGTH)  \
-       CHECK_BOUNDS_LOW (rBP, rLOW, rHIGH);                    \
-       subi    rHIGH, rHIGH, LENGTH;                           \
-       tdlgt   rBP, rHIGH
-
-/* Store a pointer value register into the return-value's pointer
-   value slot.  */
-
-# define STORE_RETURN_VALUE(rVALUE)            \
-       std     rVALUE, oVALUE(rRTN)
-
-/* Store a low and high bounds into the return-value's pointer bounds
-   slots.  */
-
-# define STORE_RETURN_BOUNDS(rLOW, rHIGH)      \
-       std     rLOW, oLOW(rRTN);               \
-       std     rHIGH, oHIGH(rRTN)
-
-/* Stuff zero value/low/high into the BP addressed by rRTN.  */
-
-# define RETURN_NULL_BOUNDED_POINTER           \
-       li      r4, 0;                          \
-       STORE_RETURN_VALUE (r4);                \
-       STORE_RETURN_BOUNDS (r4, r4)
-
-#else
-
-# define DISCARD_BOUNDS(rBP)
-# define CHECK_BOUNDS_LOW(rBP, rLOW, rHIGH)
-# define CHECK_BOUNDS_HIGH(rVALUE, rHIGH, TWLcc)
-# define CHECK_BOUNDS_HIGH_RTN(rVALUE, rHIGH, TWLcc)
-# define CHECK_BOUNDS_BOTH(rBP, rLOW, rHIGH)
-# define CHECK_BOUNDS_BOTH_WIDE(rBP, rLOW, rHIGH, rLENGTH)
-# define CHECK_BOUNDS_BOTH_WIDE_LIT(rBP, rLOW, rHIGH, LENGTH)
-# define STORE_RETURN_VALUE(rVALUE)
-# define STORE_RETURN_BOUNDS(rLOW, rHIGH)
-
-# define RETURN_NULL_BOUNDED_POINTER li rRTN, 0
-
-#endif
index 5ba4ebf..a271965 100644 (file)
@@ -17,8 +17,6 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 #define PREFETCH_AHEAD 6       /* no cache lines SRC prefetching ahead  */
 #define ZERO_AHEAD 4           /* no cache lines DST zeroing ahead  */
@@ -41,7 +39,7 @@
 
 .align  7
 
-EALIGN (BP_SYM (memcpy), 5, 0)
+EALIGN (memcpy, 5, 0)
        CALL_MCOUNT 3
 
        dcbt    0,r4            /* Prefetch ONE SRC cacheline  */
@@ -240,5 +238,5 @@ EALIGN (BP_SYM (memcpy), 5, 0)
        stb     r0,0(r6)
 1:     blr
 
-END_GEN_TB (BP_SYM (memcpy),TB_TOCLESS)
+END_GEN_TB (memcpy,TB_TOCLESS)
 libc_hidden_builtin_def (memcpy)
index 7c1b656..b8c4cc8 100644 (file)
@@ -17,8 +17,6 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* __ptr_t [r3] memcpy (__ptr_t dst [r3], __ptr_t src [r4], size_t len [r5]);
    Returns 'dst'.
@@ -35,7 +33,7 @@
    possible when both source and destination are doubleword aligned.
    Each case has a optimized unrolled loop.   */
 
-EALIGN (BP_SYM (memcpy), 5, 0)
+EALIGN (memcpy, 5, 0)
        CALL_MCOUNT 3
 
     cmpldi cr1,5,31
@@ -364,5 +362,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)
index f107f8b..6acf149 100644 (file)
@@ -17,8 +17,6 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
        .section        ".toc","aw"
 .LC0:
    cache line (256 bits). There is a special case for setting cache lines
    to 0, to take advantage of the dcbz instruction.  */
 
-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
 
@@ -56,14 +47,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
@@ -261,25 +244,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)
index 7df52f8..6378ecb 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* 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)
index 734434a..c43d1d2 100644 (file)
@@ -17,8 +17,6 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* __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)
index 1982692..dbecee8 100644 (file)
@@ -17,8 +17,6 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* __ptr_t [r3] memset (__ptr_t s [r3], int c [r4], size_t n [r5]));
    Returns 's'.
    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)
index 19877fa..1276e16 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* 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)
index 64f5b2f..55c0d71 100644 (file)
@@ -17,8 +17,6 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* __ptr_t [r3] memcpy (__ptr_t dst [r3], __ptr_t src [r4], size_t len [r5]);
    Returns 'dst'.
@@ -43,7 +41,7 @@
    for the destination.  */
 
        .machine        "power6"
-EALIGN (BP_SYM (memcpy), 7, 0)
+EALIGN (memcpy, 7, 0)
        CALL_MCOUNT 3
 
     cmpldi cr1,5,31
@@ -1165,5 +1163,5 @@ L(du_done):
     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)
index a7913a1..541a45f 100644 (file)
@@ -17,8 +17,6 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* __ptr_t [r3] memset (__ptr_t s [r3], int c [r4], size_t n [r5]));
    Returns 's'.
    to 0, to take advantage of the dcbz instruction.  */
 
        .machine power6
-EALIGN (BP_SYM (memset), 7, 0)
+EALIGN (memset, 7, 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
 #define rMEMP3 r9      /* Alt mem pointer.  */
 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
@@ -393,25 +376,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)
index 7b71a19..3416897 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* int [r3] memchr (char *s [r3], int byte [r4], int size [r5])  */
        .machine  power7
-ENTRY (BP_SYM (__memchr))
+ENTRY (__memchr)
        CALL_MCOUNT 2
        dcbt    0,r3
        clrrdi  r8,r3,3
@@ -202,6 +200,6 @@ L(loop_small):                /* loop_small has been unrolled.  */
        blr
 
 
-END (BP_SYM (__memchr))
-weak_alias (BP_SYM (__memchr), BP_SYM(memchr))
+END (__memchr)
+weak_alias (__memchr, memchr)
 libc_hidden_builtin_def (memchr)
index a7caa48..f190c64 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* int [r3] memcmp (const char *s1 [r3],
                    const char *s2 [r4],
                    size_t size [r5])  */
 
        .machine power7
-EALIGN (BP_SYM(memcmp),4,0)
+EALIGN (memcmp,4,0)
        CALL_MCOUNT 3
 
 #define rTMP   r0
@@ -33,9 +31,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 */
@@ -978,6 +973,6 @@ L(duzeroLength):
        li      rRTN,0
        blr
 
-END (BP_SYM (memcmp))
+END (memcmp)
 libc_hidden_builtin_def (memcmp)
 weak_alias (memcmp,bcmp)
index aa0db8e..800a9f1 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 
 /* __ptr_t [r3] memcpy (__ptr_t dst [r3], __ptr_t src [r4], size_t len [r5]);
    Returns 'dst'.  */
 
        .machine power7
-EALIGN (BP_SYM (memcpy), 5, 0)
+EALIGN (memcpy, 5, 0)
        CALL_MCOUNT 3
 
        cmpldi  cr1,5,31
@@ -502,5 +500,5 @@ L(end_unaligned_loop):
        ld      3,-16(1)
        blr
 
-END_GEN_TB (BP_SYM (memcpy),TB_TOCLESS)
+END_GEN_TB (memcpy,TB_TOCLESS)
 libc_hidden_builtin_def (memcpy)
index 9993040..f20be93 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 
 /* __ptr_t [r3] __mempcpy (__ptr_t dst [r3], __ptr_t src [r4], size_t len [r5]);
     Returns 'dst' + 'len'.  */
 
        .machine  power7
-EALIGN (BP_SYM (__mempcpy), 5, 0)
+EALIGN (__mempcpy, 5, 0)
        CALL_MCOUNT 3
 
        cmpldi  cr1,5,31
@@ -451,7 +449,7 @@ L(end_unaligned_loop):
        add     3,3,5
        blr
 
-END_GEN_TB (BP_SYM (__mempcpy),TB_TOCLESS)
-libc_hidden_def (BP_SYM (__mempcpy))
-weak_alias (BP_SYM (__mempcpy), BP_SYM (mempcpy))
+END_GEN_TB (__mempcpy,TB_TOCLESS)
+libc_hidden_def (__mempcpy)
+weak_alias (__mempcpy, mempcpy)
 libc_hidden_builtin_def (mempcpy)
index d3ffe4c..d24fbbb 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* int [r3] memrchr (char *s [r3], int byte [r4], int size [r5])  */
        .machine  power7
-ENTRY (BP_SYM (__memrchr))
+ENTRY (__memrchr)
        CALL_MCOUNT
        dcbt    0,r3
        mr      r7,r3
@@ -174,6 +172,6 @@ L(loop_small):
        ble     L(null)
        b       L(loop_small)
 
-END (BP_SYM (__memrchr))
-weak_alias (BP_SYM (__memrchr), BP_SYM(memrchr))
+END (__memrchr)
+weak_alias (__memrchr, memrchr)
 libc_hidden_builtin_def (memrchr)
index abb2d35..b24cfa1 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* __ptr_t [r3] memset (__ptr_t s [r3], int c [r4], size_t n [r5]));
    Returns 's'.  */
 
        .machine power7
-EALIGN (BP_SYM (memset), 5, 0)
+EALIGN (memset, 5, 0)
        CALL_MCOUNT 3
 
 L(_memset):
@@ -382,16 +380,16 @@ L(small):
        stw     4,4(10)
        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
        mr      r5,r4
        li      r4,0
        b       L(_memset)
-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)
index 5fc284d..50a33d8 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* int [r3] rawmemchr (void *s [r3], int c [r4])  */
        .machine  power7
-ENTRY (BP_SYM(__rawmemchr))
+ENTRY (__rawmemchr)
        CALL_MCOUNT 2
        dcbt    0,r3
        clrrdi  r8,r3,3       /* Align the address to doubleword boundary.  */
@@ -97,6 +95,6 @@ L(done):
        srdi    r0,r0,3       /* Convert leading zeroes to bytes.  */
        add     r3,r8,r0      /* Return address of the matching char.  */
        blr
-END (BP_SYM (__rawmemchr))
+END (__rawmemchr)
 weak_alias (__rawmemchr,rawmemchr)
 libc_hidden_builtin_def (__rawmemchr)
index 6323154..9eee384 100644 (file)
@@ -17,8 +17,6 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 #include <locale-defines.h>
 
 /* int [r3] strcasecmp (const char *s1 [r3], const char *s2 [r4] )
@@ -33,7 +31,7 @@
 # define STRCMP   strcasecmp
 #endif
 
-ENTRY (BP_SYM (__STRCMP))
+ENTRY (__STRCMP)
        CALL_MCOUNT 2
 
 #define rRTN   r3      /* Return value */
@@ -118,7 +116,7 @@ L(done):
        subf    r0, rLWR2, rLWR1
        extsw   rRTN, r0
        blr
-END (BP_SYM (__STRCMP))
+END (__STRCMP)
 
-weak_alias (BP_SYM (__STRCMP), BP_SYM (STRCMP))
+weak_alias (__STRCMP, STRCMP)
 libc_hidden_builtin_def (__STRCMP)
index 04b7d4f..3ffe7a1 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* int [r3] strchr (char *s [r3], int c [r4])  */
        .machine  power7
-ENTRY (BP_SYM(strchr))
+ENTRY (strchr)
        CALL_MCOUNT 2
        dcbt    0,r3
        clrrdi  r8,r3,3       /* Align the address to doubleword boundary.  */
@@ -198,6 +196,6 @@ L(done_null):
        srdi    r0,r0,3       /* Convert leading zeros to bytes.  */
        add     r3,r8,r0      /* Return address of the matching null byte.  */
        blr
-END (BP_SYM (strchr))
-weak_alias (BP_SYM (strchr), BP_SYM (index))
+END (strchr)
+weak_alias (strchr, index)
 libc_hidden_builtin_def (strchr)
index 2b1e1c0..9dbc51b 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* int [r3] strchrnul (char *s [r3], int c [r4])  */
        .machine  power7
-ENTRY (BP_SYM(__strchrnul))
+ENTRY (__strchrnul)
        CALL_MCOUNT 2
        dcbt    0,r3
        clrrdi  r8,r3,3       /* Align the address to doubleword boundary.  */
@@ -112,6 +110,6 @@ L(done):
        srdi    r0,r0,3       /* Convert leading zeros to bytes.  */
        add     r3,r8,r0      /* Return address of matching c/null byte.  */
        blr
-END (BP_SYM (__strchrnul))
+END (__strchrnul)
 weak_alias (__strchrnul,strchrnul)
 libc_hidden_builtin_def (__strchrnul)
index a36aa7d..3432169 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* int [r3] strlen (char *s [r3])  */
        .machine  power7
-ENTRY (BP_SYM (strlen))
+ENTRY (strlen)
        CALL_MCOUNT 1
        dcbt    0,r3
        clrrdi  r4,r3,3       /* Align the address to doubleword boundary.  */
@@ -94,5 +92,5 @@ L(done):
        srdi    r0,r0,3       /* Convert leading zeroes to bytes.  */
        add     r3,r5,r0      /* Compute final length.  */
        blr
-END (BP_SYM (strlen))
+END (strlen)
 libc_hidden_builtin_def (strlen)
index 25a6baf..77ecad5 100644 (file)
@@ -17,8 +17,6 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* See strlen.s for comments on how the end-of-string testing works.  */
 
@@ -26,7 +24,7 @@
                     const char *s2 [r4],
                     size_t size [r5])  */
 
-EALIGN (BP_SYM(strncmp),5,0)
+EALIGN (strncmp,5,0)
        CALL_MCOUNT 3
 
 #define rTMP   r0
@@ -34,9 +32,6 @@ EALIGN (BP_SYM(strncmp),5,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
@@ -179,5 +174,5 @@ L(u4):      sub     rRTN,rWORD1,rWORD2
 L(ux):
        li      rRTN,0
        blr
-END (BP_SYM (strncmp))
+END (strncmp)
 libc_hidden_builtin_def (strncmp)
index 23e0a35..37c7dbf 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* int [r3] strnlen (char *s [r3], int size [r4])  */
        .machine  power7
-ENTRY (BP_SYM (__strnlen))
+ENTRY (__strnlen)
        CALL_MCOUNT 2
        dcbt    0,r3
        clrrdi  r8,r3,3
@@ -167,6 +165,6 @@ L(loop_small):
        cmpld   r9,r7
        bge     L(end_max)
        b       L(loop_small)
-END (BP_SYM (__strnlen))
-weak_alias (BP_SYM (__strnlen), BP_SYM(strnlen))
+END (__strnlen)
+weak_alias (__strnlen, strnlen)
 libc_hidden_builtin_def (strnlen)
index 8586c2d..58ec610 100644 (file)
@@ -23,8 +23,6 @@
 #else
 #include <jmpbuf-offsets.h>
 #endif
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 #ifndef __NO_VMX__
        .section        ".toc","aw"
@@ -55,24 +53,23 @@ END (setjmp)
    that saves r2 since the call won't go via a plt call stub.  See
    bugz #269.  __GI__setjmp is used in csu/libc-start.c when
    HAVE_CLEANUP_JMP_BUF is defined.  */
-ENTRY (BP_SYM (__GI__setjmp))
+ENTRY (__GI__setjmp)
        std r2,40(r1)           /* Save the callers TOC in the save area.  */
        cfi_endproc
-END_2 (BP_SYM (__GI__setjmp))
+END_2 (__GI__setjmp)
 /* Fall thru. */
 #endif
 
-ENTRY (BP_SYM (_setjmp))
+ENTRY (_setjmp)
        CALL_MCOUNT 1
        li r4,0                 /* Set second argument to 0.  */
        b JUMPTARGET (GLUE(__sigsetjmp,_ent))
-END (BP_SYM (_setjmp))
+END (_setjmp)
 libc_hidden_def (_setjmp)
 
-ENTRY (BP_SYM (__sigsetjmp))
+ENTRY (__sigsetjmp)
        CALL_MCOUNT 2
 JUMPTARGET(GLUE(__sigsetjmp,_ent)):
-       CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
 #ifdef PTR_MANGLE
        mr   r5, r1
        PTR_MANGLE (r5, r6)
@@ -219,18 +216,18 @@ L(no_vmx):
        li      r3,0
        blr
 #elif defined SHARED
-       b       JUMPTARGET (BP_SYM (__sigjmp_save))
+       b       JUMPTARGET (__sigjmp_save)
 #else
        mflr    r0
        std     r0,16(r1)
        stdu    r1,-112(r1)
        cfi_adjust_cfa_offset(112)
        cfi_offset(lr,16)
-       bl      JUMPTARGET (BP_SYM (__sigjmp_save))
+       bl      JUMPTARGET (__sigjmp_save)
        nop
        ld      r0,112+16(r1)
        addi    r1,r1,112
        mtlr    r0
        blr
 #endif
-END (BP_SYM (__sigsetjmp))
+END (__sigsetjmp)
index 210779c..ec0fd30 100644 (file)
@@ -34,7 +34,6 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include "bp-sym.h"
 
  /* These are the various addresses we require.  */
 #ifdef PIC
@@ -46,7 +45,7 @@
 L(start_addresses):
        .quad   0 /* was _SDA_BASE_  but not in 64-bit ABI*/
 /*     function descriptors so don't need JUMPTARGET */
-       .quad   BP_SYM(main)
+       .quad   main
        .quad   __libc_csu_init
        .quad   __libc_csu_fini
 
@@ -71,7 +70,7 @@ ENTRY(_start)
        ld      r8,.L01(r2)
 
  /* and continue in libc-start, in glibc.  */
-       b       JUMPTARGET(BP_SYM(__libc_start_main))
+       b       JUMPTARGET(__libc_start_main)
 /* The linker needs this nop to recognize that it's OK to call via a
    TOC adjusting stub.  */
        nop
index d9cffe9..070cd46 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* See strlen.s for comments on how the end-of-string testing works.  */
 
 /* char * [r3] stpcpy (char *dest [r3], const char *src [r4])  */
 
-EALIGN (BP_SYM (__stpcpy), 4, 0)
+EALIGN (__stpcpy, 4, 0)
        CALL_MCOUNT 2
 
 #define rTMP   r0
 #define rRTN   r3
-#if __BOUNDED_POINTERS__
-# define rDEST r4              /* pointer to previous word in dest */
-# define rSRC  r5              /* pointer to previous word in src */
-# define rLOW  r11
-# define rHIGH r12
-#else
-# define rDEST r3              /* pointer to previous word in dest */
-# define rSRC  r4              /* pointer to previous word in src */
-#endif
+#define rDEST  r3              /* pointer to previous word in dest */
+#define rSRC   r4              /* pointer to previous word in src */
 #define rWORD  r6              /* current word from src */
 #define rFEFE  r7              /* 0xfefefeff */
 #define r7F7F  r8              /* 0x7f7f7f7f */
 #define rNEG   r9              /* ~(word in src | 0x7f7f7f7f) */
 #define rALT   r10             /* alternate word from src */
 
-       CHECK_BOUNDS_LOW (rSRC, rLOW, rHIGH)
-       CHECK_BOUNDS_LOW (rDEST, rLOW, rHIGH)
-       STORE_RETURN_BOUNDS (rLOW, rHIGH)
-
        or      rTMP, rSRC, rDEST
        clrldi. rTMP, rTMP, 62
        addi    rDEST, rDEST, -4
@@ -85,8 +72,6 @@ L(g1):        rlwinm. rTMP, rALT, 8, 24, 31
        stbu    rTMP, 1(rDEST)
        beqlr-
        stbu    rALT, 1(rDEST)
-       CHECK_BOUNDS_HIGH (rDEST, rHIGH, twlgt)
-       STORE_RETURN_VALUE (rDEST)
        blr
 
 /* Oh well.  In this case, we just do a byte-by-byte copy.  */
@@ -108,15 +93,11 @@ L(u0):     lbzu    rALT, 1(rSRC)
        cmpwi   rWORD, 0
        bne+    L(u0)
 L(u2): stbu    rWORD, 1(rDEST)
-       CHECK_BOUNDS_HIGH (rDEST, rHIGH, twlgt)
-       STORE_RETURN_VALUE (rDEST)
        blr
 L(u1): stbu    rALT, 1(rDEST)
-       CHECK_BOUNDS_HIGH (rDEST, rHIGH, twlgt)
-       STORE_RETURN_VALUE (rDEST)
        blr
-END (BP_SYM (__stpcpy))
+END (__stpcpy)
 
-weak_alias (BP_SYM (__stpcpy), BP_SYM (stpcpy))
+weak_alias (__stpcpy, stpcpy)
 libc_hidden_def (__stpcpy)
 libc_hidden_builtin_def (stpcpy)
index 3bd3929..d2d8cd3 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* See strlen.s for comments on how this works.  */
 
 /* char * [r3] strchr (const char *s [r3] , int c [r4] )  */
 
-ENTRY (BP_SYM (strchr))
+ENTRY (strchr)
        CALL_MCOUNT 2
 
 #define rTMP1  r0
 #define rRTN   r3      /* outgoing result */
-/* Note:  The Bounded pointer support in this code is broken.  This code
-   was inherited from PPC32 and that support was never completed.
-   Currently PPC gcc does not support -fbounds-check or -fbounded-pointers.
-   These artifacts are left in the code as a reminder in case we need
-   bounded pointer support in the future.  */
-#if __BOUNDED_POINTERS__
-# define rSTR  r4
-# define rCHR  r5      /* byte we're looking for, spread over the whole word */
-# define rWORD r8      /* the current word */
-#else
-# define rSTR  r8      /* current word pointer */
-# define rCHR  r4      /* byte we're looking for, spread over the whole word */
-# define rWORD r5      /* the current word */
-#endif
+#define rSTR   r8      /* current word pointer */
+#define rCHR   r4      /* byte we're looking for, spread over the whole word */
+#define rWORD  r5      /* the current word */
 #define rCLZB  rCHR    /* leading zero byte count */
 #define rFEFE  r6      /* constant 0xfefefefefefefeff (-0x0101010101010101) */
 #define r7F7F  r7      /* constant 0x7f7f7f7f7f7f7f7f */
@@ -51,9 +38,6 @@ ENTRY (BP_SYM (strchr))
 #define rMASK  r11     /* mask with the bits to ignore set to 0 */
 #define rTMP3  r12
 
-       CHECK_BOUNDS_LOW (rSTR, rTMP1, rTMP2)
-       STORE_RETURN_BOUNDS (rTMP1, rTMP2)
-
        dcbt    0,rRTN
        rlwimi  rCHR, rCHR, 8, 16, 23
        li      rMASK, -1
@@ -101,7 +85,6 @@ L(loopentry):
 L(missed):
        and.    rTMP1, rTMP1, rTMP2
        li      rRTN, 0
-       STORE_RETURN_VALUE (rSTR)
        beqlr
 /* It did happen. Decide which one was first...
    I'm not sure if this is actually faster than a sequence of
@@ -119,8 +102,6 @@ L(missed):
        cntlzd  rCLZB, rTMP2
        srdi    rCLZB, rCLZB, 3
        add     rRTN, rSTR, rCLZB
-       CHECK_BOUNDS_HIGH_RTN (rSTR, rTMP2, tdlge)
-       STORE_RETURN_VALUE (rSTR)
        blr
 
 L(foundit):
@@ -132,10 +113,8 @@ L(foundit):
        subi    rSTR, rSTR, 8
        srdi    rCLZB, rCLZB, 3
        add     rRTN, rSTR, rCLZB
-       CHECK_BOUNDS_HIGH_RTN (rSTR, rTMP2, tdlge)
-       STORE_RETURN_VALUE (rSTR)
        blr
-END (BP_SYM (strchr))
+END (strchr)
 
-weak_alias (BP_SYM (strchr), BP_SYM (index))
+weak_alias (strchr, index)
 libc_hidden_builtin_def (strchr)
index 46600d5..c9d6dac 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* See strlen.s for comments on how the end-of-string testing works.  */
 
 /* int [r3] strcmp (const char *s1 [r3], const char *s2 [r4])  */
 
-EALIGN (BP_SYM(strcmp), 4, 0)
+EALIGN (strcmp, 4, 0)
        CALL_MCOUNT 2
 
 #define rTMP   r0
 #define rRTN   r3
 #define rSTR1  r3      /* first string arg */
 #define rSTR2  r4      /* second string arg */
-/* 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.
-   These artifacts are left in the code as a reminder in case we need
-   bounded pointer support in the future.  */
-#if __BOUNDED_POINTERS__
-# define rHIGH1        r11
-# define rHIGH2 r12
-#endif
 #define rWORD1 r5      /* current word in s1 */
 #define rWORD2 r6      /* current word in s2 */
 #define rFEFE  r7      /* constant 0xfefefefefefefeff (-0x0101010101010101) */
@@ -47,9 +36,6 @@ EALIGN (BP_SYM(strcmp), 4, 0)
 #define rNEG   r9      /* ~(word in s1 | 0x7f7f7f7f7f7f7f7f) */
 #define rBITDIF        r10     /* bits that differ in s1 & s2 words */
 
-       CHECK_BOUNDS_LOW (rSTR1, rTMP, rHIGH1)
-       CHECK_BOUNDS_LOW (rSTR2, rTMP, rHIGH2)
-
        dcbt    0,rSTR1
        or      rTMP, rSTR2, rSTR1
        dcbt    0,rSTR2
@@ -98,7 +84,6 @@ L(endstring):
        blr
 L(equal):
        li      rRTN, 0
-       /* GKM FIXME: check high bounds.  */
        blr
 
 L(different):
@@ -113,7 +98,6 @@ L(highbit):
        srdi    rWORD2, rWORD2, 56
        srdi    rWORD1, rWORD1, 56
        sub     rRTN, rWORD1, rWORD2
-       /* GKM FIXME: check high bounds.  */
        blr
 
 
@@ -137,11 +121,9 @@ L(u1):     cmpwi   cr1, rWORD1, 0
        cmpd    rWORD1, rWORD2
        bne+    cr1, L(u0)
 L(u3): sub     rRTN, rWORD1, rWORD2
-       /* GKM FIXME: check high bounds.  */
        blr
 L(u4): lbz     rWORD1, -1(rSTR1)
        sub     rRTN, rWORD1, rWORD2
-       /* GKM FIXME: check high bounds.  */
        blr
-END (BP_SYM (strcmp))
+END (strcmp)
 libc_hidden_builtin_def (strcmp)
index 56845cf..4c6fd3f 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* See strlen.s for comments on how the end-of-string testing works.  */
 
 /* char * [r3] strcpy (char *dest [r3], const char *src [r4])  */
 
-EALIGN (BP_SYM (strcpy), 4, 0)
+EALIGN (strcpy, 4, 0)
        CALL_MCOUNT 2
 
 #define rTMP   r0
 #define rRTN   r3      /* incoming DEST arg preserved as result */
-/* 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.
-   These artifacts are left in the code as a reminder in case we need
-   bounded pointer support in the future.  */
-#if __BOUNDED_POINTERS__
-# define rDEST r4      /* pointer to previous word in dest */
-# define rSRC  r5      /* pointer to previous word in src */
-# define rLOW  r11
-# define rHIGH r12
-#else
-# define rSRC  r4      /* pointer to previous word in src */
-# define rDEST r5      /* pointer to previous word in dest */
-#endif
+#define rSRC   r4      /* pointer to previous word in src */
+#define rDEST  r5      /* pointer to previous word in dest */
 #define rWORD  r6      /* current word from src */
 #define rFEFE  r7      /* constant 0xfefefefefefefeff (-0x0101010101010101) */
 #define r7F7F  r8      /* constant 0x7f7f7f7f7f7f7f7f */
 #define rNEG   r9      /* ~(word in s1 | 0x7f7f7f7f7f7f7f7f) */
 #define rALT   r10     /* alternate word from src */
 
-       CHECK_BOUNDS_LOW (rSRC, rLOW, rHIGH)
-       CHECK_BOUNDS_LOW (rDEST, rLOW, rHIGH)
-       STORE_RETURN_BOUNDS (rLOW, rHIGH)
-
        dcbt    0,rSRC
        or      rTMP, rSRC, rRTN
        clrldi. rTMP, rTMP, 61
-#if __BOUNDED_POINTERS__
-       addi    rDEST, rDEST, -8
-#else
        addi    rDEST, rRTN, -8
-#endif
        dcbtst  0,rRTN
        bne     L(unaligned)
 
@@ -112,7 +90,6 @@ L(g1):
        stb     rTMP, 14(rDEST)
        beqlr-
        stb     rALT, 15(rDEST)
-       /* GKM FIXME: check high bound.  */
        blr
 
 /* Oh well.  In this case, we just do a byte-by-byte copy.  */
@@ -134,11 +111,9 @@ L(u0):     lbzu    rALT, 1(rSRC)
        cmpwi   rWORD, 0
        bne+    L(u0)
 L(u2): stb     rWORD, 1(rDEST)
-       /* GKM FIXME: check high bound.  */
        blr
 L(u1): stb     rALT, 1(rDEST)
-       /* GKM FIXME: check high bound.  */
        blr
 
-END (BP_SYM (strcpy))
+END (strcpy)
 libc_hidden_builtin_def (strcpy)
index 3ef4cc8..dafd033 100644 (file)
@@ -17,8 +17,6 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* The algorithm here uses the following techniques:
 
@@ -77,7 +75,7 @@
 
 /* int [r3] strlen (char *s [r3])  */
 
-ENTRY (BP_SYM (strlen))
+ENTRY (strlen)
        CALL_MCOUNT 1
 
 #define rTMP1  r0
@@ -94,13 +92,6 @@ ENTRY (BP_SYM (strlen))
 #define rTMP3  r11
 #define rTMP4  r12
 
-/* 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.
-   These artifacts are left in the code as a reminder in case we need
-   bounded pointer support in the future.  */
-       CHECK_BOUNDS_LOW (rRTN, rTMP1, rTMP2)
-
        dcbt    0,rRTN
        clrrdi  rSTR, rRTN, 3
        lis     r7F7F, 0x7f7f
@@ -168,7 +159,6 @@ L(done0):
        subf    rTMP1, rRTN, rSTR
        srdi    rTMP3, rTMP3, 3
        add     rRTN, rTMP1, rTMP3
-       /* GKM FIXME: check high bound.  */
        blr
-END (BP_SYM (strlen))
+END (strlen)
 libc_hidden_builtin_def (strlen)
index 89a3246..e272688 100644 (file)
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 /* 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 rFEFE  r8      /* constant 0xfefefefefefefeff (-0x0101010101010101) */
@@ -160,5 +155,5 @@ L(u1):
 L(u2): lbzu    rWORD1, -1(rSTR1)       
 L(u3): sub     rRTN, rWORD1, rWORD2
        blr
-END (BP_SYM (strncmp))
+END (strncmp)
 libc_hidden_builtin_def (strncmp)
index 06596ce..348aeb5 100644 (file)
 #include <sysdep.h>
 #define _ERRNO_H       1
 #include <bits/errno.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
        .comm   __curbrk,8,8
        .section        ".toc","aw"
 .LC__curbrk:
        .tc __curbrk[TC],__curbrk
        .section ".text"
-ENTRY (BP_SYM (__brk))
+ENTRY (__brk)
        CALL_MCOUNT 1
-       DISCARD_BOUNDS (r3)     /* the bounds are meaningless, so toss 'em.  */
 
        std     r3,48(r1)
        DO_CALL(SYS_ify(brk))
@@ -41,6 +38,6 @@ ENTRY (BP_SYM (__brk))
        blelr+
        li      r3,ENOMEM
        TAIL_CALL_SYSCALL_ERROR
-END (BP_SYM (__brk))
+END (__brk)
 
-weak_alias (BP_SYM (__brk), BP_SYM (brk))
+weak_alias (__brk, brk)
index f74dcae..cf46856 100644 (file)
@@ -19,8 +19,6 @@
 #include <sysdep.h>
 #define _ERRNO_H       1
 #include <bits/errno.h>
-#include <bp-sym.h>
-#include <bp-asm.h>
 
 #define CLONE_VM       0x00000100
 #define CLONE_THREAD   0x00010000
                   int flags [r5], void *arg [r6], void *parent_tid [r7],
                   void *tls [r8], void *child_tid [r9]); */
 
-ENTRY (BP_SYM (__clone))
+ENTRY (__clone)
        CALL_MCOUNT 7
-       /* GKM FIXME: add bounds checks, where sensible.  */
-       DISCARD_BOUNDS (r4)
-       DISCARD_BOUNDS (r6)
 
        /* Check for child_stack == NULL || fn == NULL.  */
        cmpdi   cr0,r4,0
@@ -144,6 +139,6 @@ L(parent):
        cfi_restore(r31)
        PSEUDO_RET
 
-END (BP_SYM (__clone))
+END (__clone)
 
-weak_alias (BP_SYM (__clone), BP_SYM (clone))
+weak_alias (__clone, clone)