mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-03 00:10:10 +00:00
Update.
2000-08-17 Greg McGary <greg@mcgary.org> * 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 <greg@mcgary.org> * 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 <greg@mcgary.org> * 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.
This commit is contained in:
parent
9e25f6e29b
commit
e64911d1d6
51
ChangeLog
51
ChangeLog
@ -1,3 +1,54 @@
|
|||||||
|
2000-08-17 Greg McGary <greg@mcgary.org>
|
||||||
|
|
||||||
|
* 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 <greg@mcgary.org>
|
||||||
|
|
||||||
|
* 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 <greg@mcgary.org>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2000-08-16 Andreas Schwab <schwab@suse.de>
|
2000-08-16 Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
* sysdeps/m68k/fpu/fegetexcept.c: New file.
|
* sysdeps/m68k/fpu/fegetexcept.c: New file.
|
||||||
|
@ -471,7 +471,7 @@ link-extra-libs-static = $(link-extra-libs)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
link-libc-bounded = $(common-objpfx)libc_b.a $(gnulib) $(common-objpfx)libc_b.a
|
link-libc-bounded = $(common-objpfx)libc_b.a $(gnulib) $(common-objpfx)libc_b.a
|
||||||
link-extra-libs-bounded = $(foreach lib,$(LDLIBS-$(@F)),$(common-objpfx)$(lib)_b.a)
|
link-extra-libs-bounded = $(foreach lib,$(LDLIBS-$(@F:%-bp=%)),$(common-objpfx)$(lib)_b.a)
|
||||||
|
|
||||||
ifndef gnulib
|
ifndef gnulib
|
||||||
gnulib := -lgcc
|
gnulib := -lgcc
|
||||||
@ -653,7 +653,7 @@ ifeq (yes,$(build-bounded))
|
|||||||
# and thus aid debugging, since after all, BPs are a debugging tool.
|
# and thus aid debugging, since after all, BPs are a debugging tool.
|
||||||
object-suffixes += .ob
|
object-suffixes += .ob
|
||||||
CPPFLAGS-.ob = -fbounded-pointers $(pic-default)
|
CPPFLAGS-.ob = -fbounded-pointers $(pic-default)
|
||||||
CFLAGS-.ob = -g -O2 -fno-optimize-sibling-calls
|
CFLAGS-.ob = -g -O2 -fno-optimize-sibling-calls -fno-strict-aliasing
|
||||||
libtype.ob = lib%_b.a
|
libtype.ob = lib%_b.a
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -793,6 +793,7 @@ endif # build-shared
|
|||||||
ifneq (,$(findstring linuxthreads,$(add-ons)))
|
ifneq (,$(findstring linuxthreads,$(add-ons)))
|
||||||
shared-thread-library = $(common-objpfx)linuxthreads/libpthread.so
|
shared-thread-library = $(common-objpfx)linuxthreads/libpthread.so
|
||||||
static-thread-library = $(common-objpfx)linuxthreads/libpthread.a
|
static-thread-library = $(common-objpfx)linuxthreads/libpthread.a
|
||||||
|
bounded-thread-library = $(common-objpfx)linuxthreads/libpthread_b.a
|
||||||
have-thread-library = yes
|
have-thread-library = yes
|
||||||
rpath-dirs += linuxthreads
|
rpath-dirs += linuxthreads
|
||||||
endif
|
endif
|
||||||
|
@ -46,14 +46,13 @@ $(objpfx)md5test: $(objpfx)md5.o
|
|||||||
include ../Rules
|
include ../Rules
|
||||||
|
|
||||||
ifeq (yes,$(build-shared))
|
ifeq (yes,$(build-shared))
|
||||||
libcrypt-dep = $(objpfx)libcrypt.so
|
$(addprefix $(objpfx),$(tests)): $(objpfx)libcrypt.so
|
||||||
else
|
else
|
||||||
libcrypt-dep = $(objpfx)libcrypt.a
|
$(addprefix $(objpfx),$(tests)): $(objpfx)libcrypt.a
|
||||||
|
endif
|
||||||
|
ifeq (yes,$(build-bounded))
|
||||||
|
$(tests:%=$(objpfx)%-bp): $(objpfx)libcrypt_b.a
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(objpfx)cert: $(libcrypt-dep)
|
|
||||||
$(objpfx)md5c-test: $(libcrypt-dep)
|
|
||||||
|
|
||||||
|
|
||||||
# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
|
# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
|
||||||
# This ensures they will load libc.so for needed symbols if loaded by
|
# This ensures they will load libc.so for needed symbols if loaded by
|
||||||
|
@ -41,7 +41,9 @@ nodelete-yes = -Wl,--enable-new-dtags,-z,nodelete
|
|||||||
LDFLAGS-pthread.so = $(nodelete-$(have-z-nodelete))
|
LDFLAGS-pthread.so = $(nodelete-$(have-z-nodelete))
|
||||||
|
|
||||||
vpath %.c Examples
|
vpath %.c Examples
|
||||||
tests = ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 ex9 ex10 ex11 ex12 joinrace tststack
|
|
||||||
|
librt-tests = ex10 ex11
|
||||||
|
tests = ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 ex9 $(librt-tests) ex12 joinrace tststack
|
||||||
|
|
||||||
include ../Rules
|
include ../Rules
|
||||||
|
|
||||||
@ -58,24 +60,13 @@ $(objpfx)libpthread.so: $(common-objpfx)libc.so
|
|||||||
|
|
||||||
# Make sure we link with the thread library.
|
# Make sure we link with the thread library.
|
||||||
ifeq ($(build-shared),yes)
|
ifeq ($(build-shared),yes)
|
||||||
libpthread = $(objpfx)libpthread.so
|
$(addprefix $(objpfx),$(tests)): $(objpfx)libpthread.so
|
||||||
librt = $(common-objpfx)rt/librt.so
|
$(addprefix $(objpfx),$(librt-tests)): $(common-objpfx)rt/librt.so
|
||||||
else
|
else
|
||||||
libpthread = $(objpfx)libpthread.a
|
$(addprefix $(objpfx),$(tests)): $(objpfx)libpthread.a
|
||||||
librt = $(common-objpfx)rt/librt.a
|
$(addprefix $(objpfx),$(librt-tests)): $(common-objpfx)rt/librt.a
|
||||||
|
endif
|
||||||
|
ifeq ($(build-bounded),yes)
|
||||||
|
$(tests:%=$(objpfx)%-bp): $(objpfx)libpthread_b.a
|
||||||
|
$(librt-tests:%=$(objpfx)%-bp): $(common-objpfx)rt/librt_b.a
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(objpfx)ex1: $(libpthread)
|
|
||||||
$(objpfx)ex2: $(libpthread)
|
|
||||||
$(objpfx)ex3: $(libpthread)
|
|
||||||
$(objpfx)ex4: $(libpthread)
|
|
||||||
$(objpfx)ex5: $(libpthread)
|
|
||||||
$(objpfx)ex6: $(libpthread)
|
|
||||||
$(objpfx)ex7: $(libpthread)
|
|
||||||
$(objpfx)ex8: $(libpthread)
|
|
||||||
$(objpfx)ex9: $(libpthread)
|
|
||||||
$(objpfx)ex10: $(libpthread) $(librt)
|
|
||||||
$(objpfx)ex11: $(libpthread) $(librt)
|
|
||||||
$(objpfx)ex12: $(libpthread)
|
|
||||||
$(objpfx)joinrace: $(libpthread)
|
|
||||||
$(objpfx)tststack: $(libpthread)
|
|
||||||
|
@ -119,17 +119,6 @@ CFLAGS-test-ldouble.c = -fno-inline -ffloat-store
|
|||||||
CFLAGS-test-ifloat.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__
|
CFLAGS-test-ifloat.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__
|
||||||
CFLAGS-test-idouble.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__
|
CFLAGS-test-idouble.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__
|
||||||
CFLAGS-test-ildoubl.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__
|
CFLAGS-test-ildoubl.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__
|
||||||
LDLIBS-test-ifloat = math/libm
|
|
||||||
LDLIBS-test-idouble = math/libm
|
|
||||||
LDLIBS-test-ildoubl = math/libm
|
|
||||||
LDLIBS-test-float = math/libm
|
|
||||||
LDLIBS-test-double = math/libm
|
|
||||||
LDLIBS-test-ldouble = math/libm
|
|
||||||
LDLIBS-test-matherr = math/libm
|
|
||||||
LDLIBS-test-reduce = math/libm
|
|
||||||
LDLIBS-atest-exp = math/libm
|
|
||||||
LDLIBS-atest-sincos = math/libm
|
|
||||||
LDLIBS-atest-exp2 = math/libm
|
|
||||||
|
|
||||||
distribute += libm-test.inc gen-libm-test.pl README.libm-test
|
distribute += libm-test.inc gen-libm-test.pl README.libm-test
|
||||||
|
|
||||||
@ -180,6 +169,9 @@ $(addprefix $(objpfx),$(tests)): $(objpfx)libm.so$(libm.so-version)
|
|||||||
else
|
else
|
||||||
$(addprefix $(objpfx),$(tests)): $(objpfx)libm.a
|
$(addprefix $(objpfx),$(tests)): $(objpfx)libm.a
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(build-bounded),yes)
|
||||||
|
$(tests:%=$(objpfx)%-bp): $(objpfx)libm_b.a
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(build-static),yes)
|
ifeq ($(build-static),yes)
|
||||||
o = .o
|
o = .o
|
||||||
|
@ -84,3 +84,7 @@ $(objpfx)tst-tsearch: $(common-objpfx)math/libm.so$(libm.so-version)
|
|||||||
else
|
else
|
||||||
$(objpfx)tst-tsearch: $(common-objpfx)math/libm.a
|
$(objpfx)tst-tsearch: $(common-objpfx)math/libm.a
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(build-bounded),yes)
|
||||||
|
$(objpfx)tst-tsearch-bp: $(common-objpfx)math/libm_b.a
|
||||||
|
endif
|
||||||
|
21
rt/Makefile
21
rt/Makefile
@ -56,21 +56,10 @@ include ../Rules
|
|||||||
$(objpfx)librt.so: $(common-objpfx)libc.so $(shared-thread-library)
|
$(objpfx)librt.so: $(common-objpfx)libc.so $(shared-thread-library)
|
||||||
|
|
||||||
ifeq (yes,$(build-shared))
|
ifeq (yes,$(build-shared))
|
||||||
$(objpfx)tst-aio: $(objpfx)librt.so $(shared-thread-library)
|
$(addprefix $(objpfx),$(tests)): $(objpfx)librt.so $(shared-thread-library)
|
||||||
$(objpfx)tst-aio2: $(objpfx)librt.so $(shared-thread-library)
|
|
||||||
$(objpfx)tst-aio3: $(objpfx)librt.so $(shared-thread-library)
|
|
||||||
$(objpfx)tst-aio4: $(objpfx)librt.so $(shared-thread-library)
|
|
||||||
$(objpfx)tst-aio5: $(objpfx)librt.so $(shared-thread-library)
|
|
||||||
$(objpfx)tst-aio64: $(objpfx)librt.so $(shared-thread-library)
|
|
||||||
$(objpfx)tst-clock: $(objpfx)librt.so $(shared-thread-library)
|
|
||||||
$(objpfx)tst-shm: $(objpfx)librt.so $(shared-thread-library)
|
|
||||||
else
|
else
|
||||||
$(objpfx)tst-aio: $(objpfx)librt.a $(static-thread-library)
|
$(addprefix $(objpfx),$(tests)): $(objpfx)librt.a $(static-thread-library)
|
||||||
$(objpfx)tst-aio2: $(objpfx)librt.a $(static-thread-library)
|
endif
|
||||||
$(objpfx)tst-aio3: $(objpfx)librt.a $(static-thread-library)
|
ifeq (yes,$(build-bounded))
|
||||||
$(objpfx)tst-aio4: $(objpfx)librt.a $(static-thread-library)
|
$(tests:%=$(objpfx)%-bp): $(objpfx)librt_b.a $(bounded-thread-library)
|
||||||
$(objpfx)tst-aio5: $(objpfx)librt.a $(static-thread-library)
|
|
||||||
$(objpfx)tst-aio64: $(objpfx)librt.a $(static-thread-library)
|
|
||||||
$(objpfx)tst-clock: $(objpfx)librt.a $(static-thread-library)
|
|
||||||
$(objpfx)tst-shm: $(objpfx)librt.a $(static-thread-library)
|
|
||||||
endif
|
endif
|
||||||
|
@ -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. */
|
/* Check bounds of a pointer seated to an array of N objects. */
|
||||||
# define CHECK_N(ARG, N) _CHECK_N ((ARG), (N), 1)
|
# define CHECK_N(ARG, N) _CHECK_N ((ARG), (N), 1)
|
||||||
/* Same as CHECK_N, but tolerate ARG == NULL. */
|
/* 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. */
|
/* Check bounds of a pointer seated to a single object. */
|
||||||
# define CHECK_1(ARG) CHECK_N ((ARG), 1)
|
# define CHECK_1(ARG) CHECK_N ((ARG), 1)
|
||||||
/* Same as CHECK_1, but tolerate ARG == NULL. */
|
/* 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. */
|
/* Check for NUL-terminator within string's bounds. */
|
||||||
# define CHECK_STRING(ARG) _CHECK_STRING ((ARG), 1)
|
# define CHECK_STRING(ARG) _CHECK_STRING ((ARG), 1)
|
||||||
/* Same as CHECK_STRING, but tolerate ARG == NULL. */
|
/* 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. */
|
/* Check bounds of signal syscall args with type sigset_t. */
|
||||||
# define CHECK_SIGSET(SET) CHECK_N ((SET), _NSIG / (8 * sizeof *(SET)))
|
# define CHECK_SIGSET(SET) CHECK_N ((SET), _NSIG / (8 * sizeof *(SET)))
|
||||||
/* Same as CHECK_SIGSET, but tolerate SET == NULL. */
|
/* 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)
|
# if defined (_IOC_SIZESHIFT) && defined (_IOC_SIZEBITS)
|
||||||
/* Extract the size of the ioctl data and check its bounds. */
|
/* 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_LOW(ARG) (ARG)
|
||||||
# define CHECK_BOUNDS_HIGH(ARG) (ARG)
|
# define CHECK_BOUNDS_HIGH(ARG) (ARG)
|
||||||
# define CHECK_1(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_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_STRING(ARG) (ARG)
|
||||||
# define CHECK_SIGSET(SET) (SET)
|
# 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_IOCTL(ARG, CMD) (ARG)
|
||||||
# define CHECK_FCNTL(ARG, CMD) (ARG)
|
# define CHECK_FCNTL(ARG, CMD) (ARG)
|
||||||
# define BOUNDED_N(PTR, N) (PTR)
|
# define BOUNDED_N(PTR, N) (PTR)
|
||||||
|
@ -257,15 +257,15 @@ shared-only-routines += $file
|
|||||||
sed -e 's/<\(a[1-9]\)>/__ptrvalue (\1a)/g' \
|
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, \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_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_N_NULL_OK (\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, *CHECK_1 (\2a)), __ptrvalue (\2a)/g' \
|
||||||
-e 's/<\(f[1-9]\)>/CHECK_N (\1a, 2)/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]\)>, <\(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/<\(i[1-9]\)>, <\(I[1-9]\)>/\1a, CHECK_IOCTL (\2a, \1a)/g' \
|
||||||
-e 's/<\(p[1-9]\)>/CHECK_1 (\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_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 |
|
-e 's/<\([ivn][1-9]\)>/\1a/g'`)`echo $rtn $args |
|
||||||
sed -e 's/<b0>.*<\(n[1-9]\)>.*/, \1a)/' \
|
sed -e 's/<b0>.*<\(n[1-9]\)>.*/, \1a)/' \
|
||||||
-e 's/<.0>.*//'`; \\'; \\"
|
-e 's/<.0>.*//'`; \\'; \\"
|
||||||
|
@ -47,7 +47,7 @@ __libc_sigaction (sig, act, oact)
|
|||||||
/* XXX The size argument hopefully will have to be changed to the
|
/* XXX The size argument hopefully will have to be changed to the
|
||||||
real size of the user-level sigset_t. */
|
real size of the user-level sigset_t. */
|
||||||
return INLINE_SYSCALL (rt_sigaction, 4, sig,
|
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)
|
weak_alias (__libc_sigaction, __sigaction)
|
||||||
|
@ -43,6 +43,6 @@ __sigprocmask (how, set, oset)
|
|||||||
/* XXX The size argument hopefully will have to be changed to the
|
/* XXX The size argument hopefully will have to be changed to the
|
||||||
real size of the user-level sigset_t. */
|
real size of the user-level sigset_t. */
|
||||||
return INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET (set),
|
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)
|
weak_alias (__sigprocmask, sigprocmask)
|
||||||
|
@ -65,7 +65,7 @@ int
|
|||||||
__old_shmctl (int shmid, int cmd, struct __old_shmid_ds *buf)
|
__old_shmctl (int shmid, int cmd, struct __old_shmid_ds *buf)
|
||||||
{
|
{
|
||||||
return INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid,
|
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);
|
compat_symbol (libc, __old_shmctl, shmctl, GLIBC_2_0);
|
||||||
#endif
|
#endif
|
||||||
|
@ -46,7 +46,7 @@ __sigprocmask (how, set, oset)
|
|||||||
{
|
{
|
||||||
#if __ASSUME_REALTIME_SIGNALS > 0
|
#if __ASSUME_REALTIME_SIGNALS > 0
|
||||||
return INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET (set),
|
return INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET (set),
|
||||||
CHECK_SIGSETopt (oset), _NSIG / 8);
|
CHECK_SIGSET_NULL_OK (oset), _NSIG / 8);
|
||||||
#else
|
#else
|
||||||
# ifdef __NR_rt_sigprocmask
|
# ifdef __NR_rt_sigprocmask
|
||||||
/* First try the RT signals. */
|
/* First try the RT signals. */
|
||||||
@ -56,7 +56,7 @@ __sigprocmask (how, set, oset)
|
|||||||
real size of the user-level sigset_t. */
|
real size of the user-level sigset_t. */
|
||||||
int saved_errno = errno;
|
int saved_errno = errno;
|
||||||
int result = INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET (set),
|
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)
|
if (result >= 0 || errno != ENOSYS)
|
||||||
return result;
|
return result;
|
||||||
@ -67,7 +67,7 @@ __sigprocmask (how, set, oset)
|
|||||||
# endif
|
# endif
|
||||||
|
|
||||||
return INLINE_SYSCALL (sigprocmask, 3, how,
|
return INLINE_SYSCALL (sigprocmask, 3, how,
|
||||||
CHECK_SIGSET (set), CHECK_SIGSETopt (oset));
|
CHECK_SIGSET (set), CHECK_SIGSET_NULL_OK (oset));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
weak_alias (__sigprocmask, sigprocmask)
|
weak_alias (__sigprocmask, sigprocmask)
|
||||||
|
@ -37,6 +37,6 @@ __sigprocmask (how, set, oset)
|
|||||||
/* XXX The size argument hopefully will have to be changed to the
|
/* XXX The size argument hopefully will have to be changed to the
|
||||||
real size of the user-level sigset_t. */
|
real size of the user-level sigset_t. */
|
||||||
return INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET (set),
|
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)
|
weak_alias (__sigprocmask, sigprocmask)
|
||||||
|
Loading…
Reference in New Issue
Block a user