From 4b9afc43727251609f28ba2140f4d8527e8d0d17 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 23 Jul 2001 18:14:55 +0000 Subject: Update. 2001-07-23 Jakub Jelinek * sunrpc/svc_tcp.c (svctcp_rendezvous_abort): New. (svctcp_rendezvous_op): Use it. * sunrpc/svc_unix.c (svcunix_rendezvous_abort): New. (svcunix_rendezvous_op): Use it. 2001-07-23 Andreas Schwab * math/Makefile (CPPFLAGS-test-ifloat.c, CPPFLAGS-test-idouble.c, CPPFLAGS-test-ildoubl.c): Renamed from CFLAGS-*. (math-CPPFLAGS): Set this instead of CPPFLAGS. --- ChangeLog | 13 +++++++++++++ linuxthreads/ChangeLog | 7 +++++++ linuxthreads/sysdeps/alpha/pt-machine.h | 6 ++++++ linuxthreads/sysdeps/sparc/sparc32/pt-machine.h | 6 ++++++ linuxthreads/sysdeps/sparc/sparc64/pt-machine.h | 6 ++++++ math/Makefile | 10 +++++----- sunrpc/svc_tcp.c | 15 ++++++++++++--- sunrpc/svc_unix.c | 15 ++++++++++++--- 8 files changed, 67 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 215c36930c..c1982aa0a9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2001-07-23 Jakub Jelinek + + * sunrpc/svc_tcp.c (svctcp_rendezvous_abort): New. + (svctcp_rendezvous_op): Use it. + * sunrpc/svc_unix.c (svcunix_rendezvous_abort): New. + (svcunix_rendezvous_op): Use it. + +2001-07-23 Andreas Schwab + + * math/Makefile (CPPFLAGS-test-ifloat.c, CPPFLAGS-test-idouble.c, + CPPFLAGS-test-ildoubl.c): Renamed from CFLAGS-*. + (math-CPPFLAGS): Set this instead of CPPFLAGS. + 2001-07-23 Ulrich Drepper * elf/elf.h: Add more definitions from Sun's latest version. diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 30ec9090d1..257e90c78a 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,10 @@ +2001-07-23 Jakub Jelinek + + * sysdeps/alpha/pt-machine.h (FLOATING_STACKS): Define. + (ARCH_STACK_MAX_SIZE): Define. + * sysdeps/sparc/sparc32/pt-machine.h: Likewise. + * sysdeps/sparc/sparc64/pt-machine.h: Likewise. + 2001-07-19 Jakub Jelinek * sysdeps/i386/useldt.h: Fix typo in ARCH_STACK_MAX_SIZE comment. diff --git a/linuxthreads/sysdeps/alpha/pt-machine.h b/linuxthreads/sysdeps/alpha/pt-machine.h index 99c9bb6b28..fc2b83fbf6 100644 --- a/linuxthreads/sysdeps/alpha/pt-machine.h +++ b/linuxthreads/sysdeps/alpha/pt-machine.h @@ -108,3 +108,9 @@ __compare_and_swap (long int *p, long int oldval, long int newval) return ret; } + +/* We want the OS to assign stack addresses. */ +#define FLOATING_STACKS 1 + +/* Maximum size of the stack if the rlimit is unlimited. */ +#define ARCH_STACK_MAX_SIZE 32*1024*1024 diff --git a/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h b/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h index 5141e13636..c13c62e5dc 100644 --- a/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h +++ b/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h @@ -63,3 +63,9 @@ register struct _pthread_descr_struct *__thread_self __asm__("%g6"); #define THREAD_GETMEM_NC(descr, member) __thread_self->member #define THREAD_SETMEM(descr, member, value) __thread_self->member = (value) #define THREAD_SETMEM_NC(descr, member, value) __thread_self->member = (value) + +/* We want the OS to assign stack addresses. */ +#define FLOATING_STACKS 1 + +/* Maximum size of the stack if the rlimit is unlimited. */ +#define ARCH_STACK_MAX_SIZE 8*1024*1024 diff --git a/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h b/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h index a804807178..d4d456630d 100644 --- a/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h +++ b/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h @@ -86,3 +86,9 @@ __compare_and_swap (long int *p, long int oldval, long int newval) #define THREAD_GETMEM_NC(descr, member) __thread_self->member #define THREAD_SETMEM(descr, member, value) __thread_self->member = (value) #define THREAD_SETMEM_NC(descr, member, value) __thread_self->member = (value) + +/* We want the OS to assign stack addresses. */ +#define FLOATING_STACKS 1 + +/* Maximum size of the stack if the rlimit is unlimited. */ +#define ARCH_STACK_MAX_SIZE 32*1024*1024 diff --git a/math/Makefile b/math/Makefile index a4d2eb3327..f960d80376 100644 --- a/math/Makefile +++ b/math/Makefile @@ -121,10 +121,10 @@ endif CFLAGS-test-float.c = -fno-inline -ffloat-store CFLAGS-test-double.c = -fno-inline -ffloat-store CFLAGS-test-ldouble.c = -fno-inline -ffloat-store -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-ildoubl.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__ CFLAGS-test-tgmath.c = -fno-builtin +CPPFLAGS-test-ifloat.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__ +CPPFLAGS-test-idouble.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__ +CPPFLAGS-test-ildoubl.c = -U__LIBC_INTERNAL_MATH_INLINES -D__FAST_MATH__ distribute += libm-test.inc gen-libm-test.pl README.libm-test @@ -145,7 +145,7 @@ CPPFLAGS-s_lib_version.c := -D_POSIX_MODE # We don't want the fdlibm code to use the inline math functions, # only the fdlibm code. -CPPFLAGS += -D__NO_MATH_INLINES -D__LIBC_INTERNAL_MATH_INLINES +math-CPPFLAGS += -D__NO_MATH_INLINES -D__LIBC_INTERNAL_MATH_INLINES ifneq ($(long-double-fcts),yes) # The `double' and `long double' types are the same on this machine. @@ -153,7 +153,7 @@ ifneq ($(long-double-fcts),yes) # to define aliases for the `FUNCl' names. To avoid type conflicts in # defining those aliases, tell to declare the `FUNCl' names with # `double' instead of `long double'. -CPPFLAGS += -DNO_LONG_DOUBLE -D_Mlong_double_=double +math-CPPFLAGS += -DNO_LONG_DOUBLE -D_Mlong_double_=double endif # The fdlibm code generates a lot of these warnings but is otherwise clean. diff --git a/sunrpc/svc_tcp.c b/sunrpc/svc_tcp.c index 94bfb33dcf..06c05a640d 100644 --- a/sunrpc/svc_tcp.c +++ b/sunrpc/svc_tcp.c @@ -81,14 +81,23 @@ static const struct xp_ops svctcp_op = */ static bool_t rendezvous_request (SVCXPRT *, struct rpc_msg *); static enum xprt_stat rendezvous_stat (SVCXPRT *); +static void svctcp_rendezvous_abort (void); + +/* This function makes sure abort() relocation goes through PLT + and thus can be lazy bound. */ +static void +svctcp_rendezvous_abort (void) +{ + abort (); +}; static const struct xp_ops svctcp_rendezvous_op = { rendezvous_request, rendezvous_stat, - (bool_t (*) (SVCXPRT *, xdrproc_t, caddr_t)) abort, - (bool_t (*) (SVCXPRT *, struct rpc_msg *)) abort, - (bool_t (*) (SVCXPRT *, xdrproc_t, caddr_t)) abort, + (bool_t (*) (SVCXPRT *, xdrproc_t, caddr_t)) svctcp_rendezvous_abort, + (bool_t (*) (SVCXPRT *, struct rpc_msg *)) svctcp_rendezvous_abort, + (bool_t (*) (SVCXPRT *, xdrproc_t, caddr_t)) svctcp_rendezvous_abort, svctcp_destroy }; diff --git a/sunrpc/svc_unix.c b/sunrpc/svc_unix.c index 4aa05a1475..20bc0aaf38 100644 --- a/sunrpc/svc_unix.c +++ b/sunrpc/svc_unix.c @@ -74,14 +74,23 @@ static const struct xp_ops svcunix_op = */ static bool_t rendezvous_request (SVCXPRT *, struct rpc_msg *); static enum xprt_stat rendezvous_stat (SVCXPRT *); +static void svcunix_rendezvous_abort (void); + +/* This function makes sure abort() relocation goes through PLT + and thus can be lazy bound. */ +static void +svcunix_rendezvous_abort (void) +{ + abort (); +}; static const struct xp_ops svcunix_rendezvous_op = { rendezvous_request, rendezvous_stat, - (bool_t (*) (SVCXPRT *, xdrproc_t, caddr_t)) abort, - (bool_t (*) (SVCXPRT *, struct rpc_msg *)) abort, - (bool_t (*) (SVCXPRT *, xdrproc_t, caddr_t)) abort, + (bool_t (*) (SVCXPRT *, xdrproc_t, caddr_t)) svcunix_rendezvous_abort, + (bool_t (*) (SVCXPRT *, struct rpc_msg *)) svcunix_rendezvous_abort, + (bool_t (*) (SVCXPRT *, xdrproc_t, caddr_t)) svcunix_rendezvous_abort, svcunix_destroy }; -- cgit 1.4.1