Update.
authorUlrich Drepper <drepper@redhat.com>
Fri, 16 Apr 2004 23:49:58 +0000 (23:49 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 16 Apr 2004 23:49:58 +0000 (23:49 +0000)
* rt/tst-mqueue6.c (mqsend): Don't inline.
(mqrecv): Likewise.

ChangeLog
nptl/ChangeLog
nptl/allocatestack.c
nptl/descr.h
nptl/pthread_getattr_np.c
rt/tst-mqueue6.c

index 8c1a321..03fa31d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2004-04-16  Ulrich Drepper  <drepper@redhat.com>
 
+       * rt/tst-mqueue6.c (mqsend): Don't inline.
+       (mqrecv): Likewise.
+
        * rt/tst-mqueue3.c (do_test): Cope with kernel without mq support.
 
        * sysdeps/ieee754/bits/nan.h (__nan_union): Add __attribute_used__
index d1f5229..c37f1c9 100644 (file)
@@ -1,3 +1,11 @@
+2004-04-16  Ulrich Drepper  <drepper@redhat.com>
+
+       * allocatestack.c (allocate_stack): Set reported_guardsize
+       unconditionally.
+       * pthread_getattr_np.c (pthread_getattr_np): Use
+       reported_guardsize instead of guardsize.
+       * descr.h (struct pthread): Add reported_guardsize field.
+
 2004-04-13  Jakub Jelinek  <jakub@redhat.com>
 
        * sysdeps/unix/sysv/linux/mq_notify.c: Shut up GCC warning.
index 4b5af82..33fbbaa 100644 (file)
@@ -618,6 +618,10 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
 
          pd->guardsize = guardsize;
        }
+      /* The pthread_getattr_np() calls need to get passed the size
+        requested in the attribute, regardless of how large the
+        actually used guardsize is.  */
+      pd->reported_guardsize = guardsize;
     }
 
 #ifndef __ASSUME_CLONE_STOPPED
index a6e35ba..3611698 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -236,6 +236,8 @@ struct pthread
   size_t stackblock_size;
   /* Size of the included guard area.  */
   size_t guardsize;
+  /* This is what the user specified and what we will report.  */
+  size_t reported_guardsize;
 
   /* Resolver state.  */
   struct __res_state res;
index d0c2c8b..ba720af 100644 (file)
@@ -59,7 +59,7 @@ pthread_getattr_np (thread_id, attr)
     iattr->flags |= ATTR_FLAG_DETACHSTATE;
 
   /* This is the guardsize after adjusting it.  */
-  iattr->guardsize = thread->guardsize;
+  iattr->guardsize = thread->reported_guardsize;
 
   /* The sizes are subject to alignment.  */
   if (__builtin_expect (thread->stackblock != NULL, 1))
index f4fdb02..5c9ee69 100644 (file)
@@ -37,8 +37,8 @@
 #if _POSIX_THREADS
 # include <pthread.h>
 
-#define mqsend(q) (mqsend) (q, __LINE__)
-static inline int
+# define mqsend(q) (mqsend) (q, __LINE__)
+static int
 (mqsend) (mqd_t q, int line)
 {
   char c;
@@ -50,8 +50,8 @@ static inline int
   return 0;
 }
 
-#define mqrecv(q) (mqrecv) (q, __LINE__)
-static inline int
+# define mqrecv(q) (mqrecv) (q, __LINE__)
+static int
 (mqrecv) (mqd_t q, int line)
 {
   char c;
@@ -104,7 +104,7 @@ fct (union sigval s)
   fct_err |= mqsend (q);
 }
 
-#define TEST_FUNCTION do_test ()
+# define TEST_FUNCTION do_test ()
 static int
 do_test (void)
 {