|
|
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)
|