aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog63
-rw-r--r--ports/ChangeLog.arm7
-rw-r--r--ports/ChangeLog.ia649
-rw-r--r--ports/ChangeLog.m68k6
-rw-r--r--ports/ChangeLog.mips16
-rw-r--r--ports/sysdeps/ia64/memchr.S3
-rw-r--r--ports/sysdeps/m68k/memchr.S3
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/truncate64.c3
-rw-r--r--ports/sysdeps/unix/sysv/linux/ia64/umount.c3
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/mips32/truncate64.c3
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c7
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c3
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c3
-rw-r--r--sysdeps/generic/bp-checks.h16
-rw-r--r--sysdeps/i386/memchr.S3
-rw-r--r--sysdeps/sparc/sparc32/memchr.S3
-rw-r--r--sysdeps/sparc/sparc64/memchr.S3
-rw-r--r--sysdeps/unix/sysv/linux/execve.c31
-rw-r--r--sysdeps/unix/sysv/linux/fxstatat.c10
-rw-r--r--sysdeps/unix/sysv/linux/fxstatat64.c6
-rw-r--r--sysdeps/unix/sysv/linux/getcwd.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/chown.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/fchownat.c7
-rw-r--r--sysdeps/unix/sysv/linux/i386/fxstatat.c10
-rw-r--r--sysdeps/unix/sysv/linux/i386/lchown.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/lxstat.c4
-rw-r--r--sysdeps/unix/sysv/linux/i386/xstat.c4
-rw-r--r--sysdeps/unix/sysv/linux/lxstat.c4
-rw-r--r--sysdeps/unix/sysv/linux/lxstat64.c2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/truncate64.c3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/chown.c3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/lchown.c3
-rw-r--r--sysdeps/unix/sysv/linux/sh/chown.c3
-rw-r--r--sysdeps/unix/sysv/linux/truncate64.c3
-rw-r--r--sysdeps/unix/sysv/linux/wordsize-64/lxstat.c2
-rw-r--r--sysdeps/unix/sysv/linux/xmknod.c4
-rw-r--r--sysdeps/unix/sysv/linux/xmknodat.c4
-rw-r--r--sysdeps/unix/sysv/linux/xstat.c5
-rw-r--r--sysdeps/unix/sysv/linux/xstat64.c2
39 files changed, 143 insertions, 130 deletions
diff --git a/ChangeLog b/ChangeLog
index 0c19491bdd..eb92349f16 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,66 @@
+2013-02-04 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #13550]
+ * sysdeps/generic/bp-checks.h [__BOUNDED_POINTERS__]
+ (__ubp_memchr): Remove prototype.
+ [__BOUNDED_POINTERS__] (_CHECK_STRING): Remove macro.
+ [__BOUNDED_POINTERS__] (CHECK_STRING): Likewise.
+ [__BOUNDED_POINTERS__] (CHECK_STRING_NULL_OK): Likewise.
+ [!__BOUNDED_POINTERS__] (CHECK_STRING): Likewise.
+ * sysdeps/i386/memchr.S [!__BOUNDED_POINTERS__] (__ubp_memchr):
+ Remove alias.
+ * sysdeps/sparc/sparc32/memchr.S [!__BOUNDED_POINTERS__]
+ (__ubp_memchr): Likewise.
+ * sysdeps/sparc/sparc64/memchr.S [!__BOUNDED_POINTERS__]
+ (__ubp_memchr): Likewise.
+ * sysdeps/unix/sysv/linux/execve.c: Do not include <bp-checks.h>.
+ (__execve) [__BOUNDED_POINTERS__]: Remove conditional code.
+ (__execve) [!__BOUNDED_POINTERS__]: Make code unconditional.
+ * sysdeps/unix/sysv/linux/fxstatat.c (__fxstatat): Do not use
+ CHECK_STRING.
+ * sysdeps/unix/sysv/linux/fxstatat64.c (__fxstatat64): Likewise.
+ * sysdeps/unix/sysv/linux/getcwd.c: Do not include <bp-checks.h>.
+ (__getcwd): Do not use CHECK_STRING.
+ * sysdeps/unix/sysv/linux/i386/chown.c: Do not include
+ <bp-checks.h>.
+ (__real_chown): Do not use CHECK_STRING.
+ * sysdeps/unix/sysv/linux/i386/fchownat.c: Do not include
+ <bp-checks.h>.
+ (fchownat): Do not use CHECK_STRING.
+ * sysdeps/unix/sysv/linux/i386/fxstatat.c (__fxstatat): Do not use
+ CHECK_STRING.
+ * sysdeps/unix/sysv/linux/i386/lchown.c: Do not include
+ <bp-checks.h>.
+ (__lchown): Do not use CHECK_STRING.
+ * sysdeps/unix/sysv/linux/i386/lxstat.c (__lxstat): Likewise.
+ * sysdeps/unix/sysv/linux/i386/xstat.c (__xstat): Likewise.
+ * sysdeps/unix/sysv/linux/lxstat.c (__lxstat): Likewise.
+ * sysdeps/unix/sysv/linux/lxstat64.c (___lxstat64): Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/truncate64.c: Do not
+ include <bp-checks.h>.
+ (truncate64): Do not use CHECK_STRING.
+ * sysdeps/unix/sysv/linux/s390/s390-32/chown.c: Do not include
+ <bp-checks.h>.
+ (__real_chown): Do not use CHECK_STRING.
+ * sysdeps/unix/sysv/linux/s390/s390-32/lchown.c: Do not include
+ <bp-checks.h>.
+ (__lchown): Do not use CHECK_STRING.
+ * sysdeps/unix/sysv/linux/sh/chown.c: Do not include
+ <bp-checks.h>.
+ (__chown): Do not use CHECK_STRING.
+ * sysdeps/unix/sysv/linux/truncate64.c: Do not include
+ <bp-checks.h>.
+ (truncate64): Do not use CHECK_STRING.
+ * sysdeps/unix/sysv/linux/wordsize-64/lxstat.c (__lxstat):
+ Likewise.
+ * sysdeps/unix/sysv/linux/xmknod.c: Do not include <bp-checks.h>.
+ (__xmknod): Do not use CHECK_STRING.
+ * sysdeps/unix/sysv/linux/xmknodat.c: Do not include
+ <bp-checks.h>.
+ (__xmknodat): Do not use CHECK_STRING.
+ * sysdeps/unix/sysv/linux/xstat.c (__xstat): Likewise.
+ * sysdeps/unix/sysv/linux/xstat64.c (___xstat64): Likewise.
+
2013-02-04 Andreas Schwab <schwab@suse.de>
[BZ #14142]
diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index d44ea76244..b4fb546d96 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,3 +1,10 @@
+2013-02-04 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #13550]
+ * sysdeps/unix/sysv/linux/arm/truncate64.c: Do not include
+ <bp-checks.h>.
+ (truncate64): Do not use CHECK_STRING.
+
2013-01-02 Joseph Myers <joseph@codesourcery.com>
* All files with FSF copyright notices: Update copyright dates
diff --git a/ports/ChangeLog.ia64 b/ports/ChangeLog.ia64
index 4b76b4f6bf..3b00dafe85 100644
--- a/ports/ChangeLog.ia64
+++ b/ports/ChangeLog.ia64
@@ -1,3 +1,12 @@
+2013-02-04 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #13550]
+ * sysdeps/ia64/memchr.S [!__BOUNDED_POINTERS__] (__ubp_memchr):
+ Remove alias.
+ * sysdeps/unix/sysv/linux/ia64/umount.c: Do not include
+ <bp-checks.h>.
+ (umount): Do not use CHECK_STRING.
+
2013-01-31 Joseph Myers <joseph@codesourcery.com>
[BZ #13550]
diff --git a/ports/ChangeLog.m68k b/ports/ChangeLog.m68k
index 688cce431a..3c2dd00892 100644
--- a/ports/ChangeLog.m68k
+++ b/ports/ChangeLog.m68k
@@ -1,3 +1,9 @@
+2013-02-04 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #13550]
+ * sysdeps/m68k/memchr.S [!__BOUNDED_POINTERS__] (__ubp_memchr):
+ Remove alias.
+
2013-01-20 Andreas Schwab <schwab@linux-m68k.org>
* sysdeps/m68k/m680x0/fpu/libm-test-ulps: Update.
diff --git a/ports/ChangeLog.mips b/ports/ChangeLog.mips
index 49a3938314..65d420673f 100644
--- a/ports/ChangeLog.mips
+++ b/ports/ChangeLog.mips
@@ -1,3 +1,19 @@
+2013-02-04 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #13550]
+ * sysdeps/unix/sysv/linux/mips/mips32/truncate64.c: Do not include
+ <bp-checks.h>.
+ (truncate64): Do not use CHECK_STRING.
+ * sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c: Do not include
+ <bp-checks.h>.
+ (__fxstatat64): Do not use CHECK_STRING.
+ * sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c: Do not include
+ <bp-checks.h>.
+ (__lxstat64): Do not use CHECK_STRING.
+ * sysdeps/unix/sysv/linux/mips/mips64/xstat64.c: Do not include
+ <bp-checks.h>.
+ (__xstat64): Do not use CHECK_STRING.
+
2013-01-31 Joseph Myers <joseph@codesourcery.com>
[BZ #13550]
diff --git a/ports/sysdeps/ia64/memchr.S b/ports/sysdeps/ia64/memchr.S
index f23a41cb76..6102644071 100644
--- a/ports/sysdeps/ia64/memchr.S
+++ b/ports/sysdeps/ia64/memchr.S
@@ -154,7 +154,4 @@ ENTRY(__memchr)
END(__memchr)
weak_alias (__memchr, memchr)
-#if !__BOUNDED_POINTERS__
-weak_alias (__memchr, __ubp_memchr)
-#endif
libc_hidden_builtin_def (memchr)
diff --git a/ports/sysdeps/m68k/memchr.S b/ports/sysdeps/m68k/memchr.S
index a15ebded00..07b102523d 100644
--- a/ports/sysdeps/m68k/memchr.S
+++ b/ports/sysdeps/m68k/memchr.S
@@ -304,7 +304,4 @@ L(L9:)
END(__memchr)
weak_alias (__memchr, memchr)
-#if !__BOUNDED_POINTERS__
-weak_alias (__memchr, __ubp_memchr)
-#endif
libc_hidden_builtin_def (memchr)
diff --git a/ports/sysdeps/unix/sysv/linux/arm/truncate64.c b/ports/sysdeps/unix/sysv/linux/arm/truncate64.c
index 4367d1efee..6e52e32637 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/truncate64.c
+++ b/ports/sysdeps/unix/sysv/linux/arm/truncate64.c
@@ -22,7 +22,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
/* Truncate the file FD refers to to LENGTH bytes. */
int
@@ -30,7 +29,7 @@ truncate64 (const char *path, off64_t length)
{
unsigned int low = length & 0xffffffff;
unsigned int high = length >> 32;
- int result = INLINE_SYSCALL (truncate64, 4, CHECK_STRING (path), 0,
+ int result = INLINE_SYSCALL (truncate64, 4, path, 0,
__LONG_LONG_PAIR (high, low));
return result;
}
diff --git a/ports/sysdeps/unix/sysv/linux/ia64/umount.c b/ports/sysdeps/unix/sysv/linux/ia64/umount.c
index a15a716869..a3df7863fa 100644
--- a/ports/sysdeps/unix/sysv/linux/ia64/umount.c
+++ b/ports/sysdeps/unix/sysv/linux/ia64/umount.c
@@ -20,11 +20,10 @@
#include <errno.h>
#include <sysdep.h>
-#include <bp-checks.h>
/* Unmount a filesystem. */
int
umount (const char *special_file)
{
- return INLINE_SYSCALL (umount, 2, CHECK_STRING (special_file), 0);
+ return INLINE_SYSCALL (umount, 2, special_file, 0);
}
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips32/truncate64.c b/ports/sysdeps/unix/sysv/linux/mips/mips32/truncate64.c
index 4367d1efee..6e52e32637 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/mips32/truncate64.c
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips32/truncate64.c
@@ -22,7 +22,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
/* Truncate the file FD refers to to LENGTH bytes. */
int
@@ -30,7 +29,7 @@ truncate64 (const char *path, off64_t length)
{
unsigned int low = length & 0xffffffff;
unsigned int high = length >> 32;
- int result = INLINE_SYSCALL (truncate64, 4, CHECK_STRING (path), 0,
+ int result = INLINE_SYSCALL (truncate64, 4, path, 0,
__LONG_LONG_PAIR (high, low));
return result;
}
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c b/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c
index 32571e717d..42c9f5c404 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/fxstatat64.c
@@ -25,7 +25,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#include <kernel-features.h>
@@ -96,11 +95,9 @@ __fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
}
if (flag & AT_SYMLINK_NOFOLLOW)
- result = INTERNAL_SYSCALL (lstat, err, 2, CHECK_STRING (file),
- __ptrvalue (&kst));
+ result = INTERNAL_SYSCALL (lstat, err, 2, file, __ptrvalue (&kst));
else
- result = INTERNAL_SYSCALL (stat, err, 2, CHECK_STRING (file),
- __ptrvalue (&kst));
+ result = INTERNAL_SYSCALL (stat, err, 2, file, __ptrvalue (&kst));
if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
return __xstat64_conv (vers, &kst, st);
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c b/ports/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c
index 106271f759..fdaa755837 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/lxstat64.c
@@ -23,7 +23,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#include <xstatconv.h>
@@ -34,7 +33,7 @@ __lxstat64 (int vers, const char *name, struct stat64 *buf)
int result;
struct kernel_stat kbuf;
- result = INLINE_SYSCALL (lstat, 2, CHECK_STRING (name), __ptrvalue (&kbuf));
+ result = INLINE_SYSCALL (lstat, 2, name, __ptrvalue (&kbuf));
if (result == 0)
result = __xstat64_conv (vers, &kbuf, buf);
diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c b/ports/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c
index 2408e5e374..c6d8b5e798 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c
+++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/xstat64.c
@@ -23,7 +23,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#include <xstatconv.h>
@@ -35,7 +34,7 @@ __xstat64 (int vers, const char *name, struct stat64 *buf)
int result;
struct kernel_stat kbuf;
- result = INLINE_SYSCALL (stat, 2, CHECK_STRING (name), __ptrvalue (&kbuf));
+ result = INLINE_SYSCALL (stat, 2, name, __ptrvalue (&kbuf));
if (result == 0)
result = __xstat64_conv (vers, &kbuf, buf);
diff --git a/sysdeps/generic/bp-checks.h b/sysdeps/generic/bp-checks.h
index cfff9155ec..13d00caf48 100644
--- a/sysdeps/generic/bp-checks.h
+++ b/sysdeps/generic/bp-checks.h
@@ -41,16 +41,6 @@
&& BOUNDS_VIOLATED), \
__ptrvalue (ARG))
-extern void *__unbounded __ubp_memchr (const void *__unbounded, int, unsigned);
-
-# define _CHECK_STRING(ARG, COND) \
- (((COND) \
- && (__ptrvalue (ARG) < __ptrlow (ARG) \
- || !__ubp_memchr (__ptrvalue (ARG), '\0', \
- (__ptrhigh (ARG) - __ptrvalue (ARG)))) \
- && BOUNDS_VIOLATED), \
- __ptrvalue (ARG))
-
/* Check bounds of a pointer seated to an array of N objects. */
# define CHECK_N(ARG, N) _CHECK_N ((ARG), (N), 1)
/* Same as CHECK_N, but tolerate ARG == NULL. */
@@ -61,11 +51,6 @@ extern void *__unbounded __ubp_memchr (const void *__unbounded, int, unsigned);
/* Same as CHECK_1, but tolerate ARG == NULL. */
# define CHECK_1_NULL_OK(ARG) CHECK_N_NULL_OK ((ARG), 1)
-/* Check for NUL-terminator within string's bounds. */
-# define CHECK_STRING(ARG) _CHECK_STRING ((ARG), 1)
-/* Same as CHECK_STRING, but tolerate ARG == NULL. */
-# define CHECK_STRING_NULL_OK(ARG) _CHECK_STRING ((ARG), __ptrvalue (ARG))
-
#else /* !__BOUNDED_POINTERS__ */
/* Do nothing if not compiling with -fbounded-pointers. */
@@ -77,7 +62,6 @@ extern void *__unbounded __ubp_memchr (const void *__unbounded, int, unsigned);
# define CHECK_1_NULL_OK(ARG) (ARG)
# define CHECK_N(ARG, N) (ARG)
# define CHECK_N_NULL_OK(ARG, N) (ARG)
-# define CHECK_STRING(ARG) (ARG)
#endif /* !__BOUNDED_POINTERS__ */
diff --git a/sysdeps/i386/memchr.S b/sysdeps/i386/memchr.S
index 53cba10097..b9bb88a457 100644
--- a/sysdeps/i386/memchr.S
+++ b/sysdeps/i386/memchr.S
@@ -333,7 +333,4 @@ L(pop): popl %edi /* pop saved registers */
END (BP_SYM (__memchr))