From e64911d1d6b3539c69d9cfe4fdaa5841e4f28cc8 Mon Sep 17 00:00:00 2001 From: Greg McGary Date: Thu, 17 Aug 2000 07:38:02 +0000 Subject: Update. 2000-08-17 Greg McGary * Makeconfig (link-extra-libs-bounded): Strip `-bp' suffix from test program name when constructing suffix for $(LDLIBS-*). (bounded-thread-library): New variable. * crypt/Makefile [build-shared, build-static] (libcrypt-dep): Remove variable. ($(addprefix $(objpfx),$(tests))): Consolidate individual dependencies. [build-bounded] ($(tests:%=$(objpfx)%-bp)): Add dependencies. * linuxthreads/Makefile (libpthread, librt): Remove variables. (librt-tests): Add variable. (tests): Use it. [build-shared, build-static] ($(addprefix $(objpfx),$(tests)), $(addprefix $(objpfx),$(librt-tests))): Consolidate individual dependencies. [build-bounded] ($(tests:%=$(objpfx)%-bp), $(librt-tests:%=$(objpfx)%-bp)): Add dependencies. * math/Makefile (LDLIBS-*): Remove variables (they are redundant). [build-bounded] ($(tests:%=$(objpfx)%-bp)): Add dependencies. * misc/Makefile [build-bounded] ($(objpfx)tst-tsearch-bp): Add dependencies. * rt/Makefile [build-shared, build-static] ($(addprefix $(objpfx),$(tests))): Consolidate individual dependencies. [build-bounded] ($(tests:%=$(objpfx)%-bp)): Add dependencies. 2000-08-17 Greg McGary * sysdeps/generic/bp-checks.h: s/\(CHECK\w+\)opt/\1_NULL_OK/ * sysdeps/unix/make-syscalls.sh: Likewise. * sysdeps/unix/sysv/linux/shmctl.c: Likewise. * sysdeps/unix/sysv/linux/sigprocmask.c: Likewise. * sysdeps/unix/sysv/linux/ia64/sigaction.c: Likewise. * sysdeps/unix/sysv/linux/ia64/sigprocmask.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c: Likewise. 2000-08-17 Greg McGary * sysdeps/i386/fpu/s_frexp.S: Check bounds. Wrap extern symbols in BP_SYM (). * sysdeps/i386/fpu/s_frexpf.S: Likewise. * sysdeps/i386/fpu/s_frexpl.S: Likewise. * sysdeps/i386/fpu/s_remquo.S: Likewise. * sysdeps/i386/fpu/s_remquof.S: Likewise. * sysdeps/i386/fpu/s_remquol.S: Likewise. * sysdeps/i386/fpu/s_sincos.S: Likewise. * sysdeps/i386/fpu/s_sincosf.S: Likewise. * sysdeps/i386/fpu/s_sincosl.S: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Likewise. * sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise. --- sysdeps/generic/bp-checks.h | 14 +++++++------- sysdeps/unix/make-syscalls.sh | 8 ++++---- sysdeps/unix/sysv/linux/ia64/sigaction.c | 2 +- sysdeps/unix/sysv/linux/ia64/sigprocmask.c | 2 +- sysdeps/unix/sysv/linux/shmctl.c | 2 +- sysdeps/unix/sysv/linux/sigprocmask.c | 6 +++--- sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c | 2 +- 7 files changed, 18 insertions(+), 18 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/generic/bp-checks.h b/sysdeps/generic/bp-checks.h index f7defa4..01acf9f 100644 --- a/sysdeps/generic/bp-checks.h +++ b/sysdeps/generic/bp-checks.h @@ -57,22 +57,22 @@ extern void *__unbounded __ubp_memchr (const void *__unbounded, int, unsigned); /* 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. */ -# define CHECK_Nopt(ARG, N) _CHECK_N ((ARG), (N), __ptrvalue (ARG)) +# define CHECK_N_NULL_OK(ARG, N) _CHECK_N ((ARG), (N), __ptrvalue (ARG)) /* Check bounds of a pointer seated to a single object. */ # define CHECK_1(ARG) CHECK_N ((ARG), 1) /* Same as CHECK_1, but tolerate ARG == NULL. */ -# define CHECK_1opt(ARG) CHECK_Nopt ((ARG), 1) +# 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_STRINGopt(ARG) _CHECK_STRING ((ARG), __ptrvalue (ARG)) +# define CHECK_STRING_NULL_OK(ARG) _CHECK_STRING ((ARG), __ptrvalue (ARG)) /* Check bounds of signal syscall args with type sigset_t. */ # define CHECK_SIGSET(SET) CHECK_N ((SET), _NSIG / (8 * sizeof *(SET))) /* Same as CHECK_SIGSET, but tolerate SET == NULL. */ -# define CHECK_SIGSETopt(SET) CHECK_Nopt ((SET), _NSIG / (8 * sizeof *(SET))) +# define CHECK_SIGSET_NULL_OK(SET) CHECK_N_NULL_OK ((SET), _NSIG / (8 * sizeof *(SET))) # if defined (_IOC_SIZESHIFT) && defined (_IOC_SIZEBITS) /* Extract the size of the ioctl data and check its bounds. */ @@ -105,12 +105,12 @@ extern void *__unbounded __ubp_memchr (const void *__unbounded, int, unsigned); # define CHECK_BOUNDS_LOW(ARG) (ARG) # define CHECK_BOUNDS_HIGH(ARG) (ARG) # define CHECK_1(ARG) (ARG) -# define CHECK_1opt(ARG) (ARG) +# define CHECK_1_NULL_OK(ARG) (ARG) # define CHECK_N(ARG, N) (ARG) -# define CHECK_Nopt(ARG, N) (ARG) +# define CHECK_N_NULL_OK(ARG, N) (ARG) # define CHECK_STRING(ARG) (ARG) # define CHECK_SIGSET(SET) (SET) -# define CHECK_SIGSETopt(SET) (SET) +# define CHECK_SIGSET_NULL_OK(SET) (SET) # define CHECK_IOCTL(ARG, CMD) (ARG) # define CHECK_FCNTL(ARG, CMD) (ARG) # define BOUNDED_N(PTR, N) (PTR) diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh index 628522b..728c1e7 100644 --- a/sysdeps/unix/make-syscalls.sh +++ b/sysdeps/unix/make-syscalls.sh @@ -257,15 +257,15 @@ shared-only-routines += $file sed -e 's/<\(a[1-9]\)>/__ptrvalue (\1a)/g' \ -e 's/<\(b[1-9]\)>, <\(n[1-9]\)>/CHECK_N (\1a, \2a), \2a/g' \ -e 's/<\(b[1-9]\)>, <\(N[1-9]\)>/CHECK_N (\1a, *CHECK_1 (\2a)), __ptrvalue (\2a)/g' \ - -e 's/<\(B[1-9]\)>, <\(n[1-9]\)>/CHECK_Nopt (\1a, \2a), \2a/g' \ - -e 's/<\(B[1-9]\)>, <\(N[1-9]\)>/CHECK_Nopt (\1a, *CHECK_1 (\2a)), __ptrvalue (\2a)/g' \ + -e 's/<\(B[1-9]\)>, <\(n[1-9]\)>/CHECK_N_NULL_OK (\1a, \2a), \2a/g' \ + -e 's/<\(B[1-9]\)>, <\(N[1-9]\)>/CHECK_N_NULL_OK (\1a, *CHECK_1 (\2a)), __ptrvalue (\2a)/g' \ -e 's/<\(f[1-9]\)>/CHECK_N (\1a, 2)/g' \ -e 's/<\(i[1-9]\)>, <\(F[1-9]\)>/\1a, CHECK_FCNTL (\2a, \1a)/g' \ -e 's/<\(i[1-9]\)>, <\(I[1-9]\)>/\1a, CHECK_IOCTL (\2a, \1a)/g' \ -e 's/<\(p[1-9]\)>/CHECK_1 (\1a)/g' \ - -e 's/<\([PW][1-9]\)>/CHECK_1opt (\1a)/g' \ + -e 's/<\([PW][1-9]\)>/CHECK_1_NULL_OK (\1a)/g' \ -e 's/<\(s[1-9]\)>/CHECK_STRING (\1a)/g' \ - -e 's/<\(S[1-9]\)>/CHECK_STRINGopt (\1a)/g' \ + -e 's/<\(S[1-9]\)>/CHECK_STRING_NULL_OK (\1a)/g' \ -e 's/<\([ivn][1-9]\)>/\1a/g'`)`echo $rtn $args | sed -e 's/.*<\(n[1-9]\)>.*/, \1a)/' \ -e 's/<.0>.*//'`; \\'; \\" diff --git a/sysdeps/unix/sysv/linux/ia64/sigaction.c b/sysdeps/unix/sysv/linux/ia64/sigaction.c index 0cf65ba..d7c8210 100644 --- a/sysdeps/unix/sysv/linux/ia64/sigaction.c +++ b/sysdeps/unix/sysv/linux/ia64/sigaction.c @@ -47,7 +47,7 @@ __libc_sigaction (sig, act, oact) /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ return INLINE_SYSCALL (rt_sigaction, 4, sig, - CHECK_1opt (act), CHECK_1opt (oact), _NSIG / 8); + CHECK_1_NULL_OK (act), CHECK_1_NULL_OK (oact), _NSIG / 8); } weak_alias (__libc_sigaction, __sigaction) diff --git a/sysdeps/unix/sysv/linux/ia64/sigprocmask.c b/sysdeps/unix/sysv/linux/ia64/sigprocmask.c index 293a327..f0b5d32 100644 --- a/sysdeps/unix/sysv/linux/ia64/sigprocmask.c +++ b/sysdeps/unix/sysv/linux/ia64/sigprocmask.c @@ -43,6 +43,6 @@ __sigprocmask (how, set, oset) /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ return INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET (set), - CHECK_SIGSETopt (oset), _NSIG / 8); + CHECK_SIGSET_NULL_OK (oset), _NSIG / 8); } weak_alias (__sigprocmask, sigprocmask) diff --git a/sysdeps/unix/sysv/linux/shmctl.c b/sysdeps/unix/sysv/linux/shmctl.c index 3b2809a..8ff911b 100644 --- a/sysdeps/unix/sysv/linux/shmctl.c +++ b/sysdeps/unix/sysv/linux/shmctl.c @@ -65,7 +65,7 @@ int __old_shmctl (int shmid, int cmd, struct __old_shmid_ds *buf) { return INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid, - cmd, 0, CHECK_1opt (buf)); + cmd, 0, CHECK_1_NULL_OK (buf)); } compat_symbol (libc, __old_shmctl, shmctl, GLIBC_2_0); #endif diff --git a/sysdeps/unix/sysv/linux/sigprocmask.c b/sysdeps/unix/sysv/linux/sigprocmask.c index 7590071..0043bca 100644 --- a/sysdeps/unix/sysv/linux/sigprocmask.c +++ b/sysdeps/unix/sysv/linux/sigprocmask.c @@ -46,7 +46,7 @@ __sigprocmask (how, set, oset) { #if __ASSUME_REALTIME_SIGNALS > 0 return INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET (set), - CHECK_SIGSETopt (oset), _NSIG / 8); + CHECK_SIGSET_NULL_OK (oset), _NSIG / 8); #else # ifdef __NR_rt_sigprocmask /* First try the RT signals. */ @@ -56,7 +56,7 @@ __sigprocmask (how, set, oset) real size of the user-level sigset_t. */ int saved_errno = errno; int result = INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET (set), - CHECK_SIGSETopt (oset), _NSIG / 8); + CHECK_SIGSET_NULL_OK (oset), _NSIG / 8); if (result >= 0 || errno != ENOSYS) return result; @@ -67,7 +67,7 @@ __sigprocmask (how, set, oset) # endif return INLINE_SYSCALL (sigprocmask, 3, how, - CHECK_SIGSET (set), CHECK_SIGSETopt (oset)); + CHECK_SIGSET (set), CHECK_SIGSET_NULL_OK (oset)); #endif } weak_alias (__sigprocmask, sigprocmask) diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c index cb0b275..0e46e99 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c @@ -37,6 +37,6 @@ __sigprocmask (how, set, oset) /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ return INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET (set), - CHECK_SIGSETopt (oset), _NSIG / 8); + CHECK_SIGSET_NULL_OK (oset), _NSIG / 8); } weak_alias (__sigprocmask, sigprocmask) -- cgit v1.1