summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog13
-rw-r--r--linuxthreads/ChangeLog7
-rw-r--r--linuxthreads/sysdeps/alpha/pt-machine.h6
-rw-r--r--linuxthreads/sysdeps/sparc/sparc32/pt-machine.h6
-rw-r--r--linuxthreads/sysdeps/sparc/sparc64/pt-machine.h6
-rw-r--r--math/Makefile10
-rw-r--r--sunrpc/svc_tcp.c15
-rw-r--r--sunrpc/svc_unix.c15
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  <jakub@redhat.com>
+
+	* 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  <schwab@suse.de>
+
+	* 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  <drepper@redhat.com>
 
 	* 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  <jakub@redhat.com>
+
+	* 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  <jakub@redhat.com>
 
 	* 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 <math.h> 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
 };