* rt/tst-mqueue6.c (mqsend): Don't inline.
	(mqrecv): Likewise.
This commit is contained in:
Ulrich Drepper 2004-04-16 23:49:58 +00:00
parent edb4d496a8
commit 5adac0e439
6 changed files with 24 additions and 7 deletions

View File

@ -1,5 +1,8 @@
2004-04-16 Ulrich Drepper <drepper@redhat.com> 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. * rt/tst-mqueue3.c (do_test): Cope with kernel without mq support.
* sysdeps/ieee754/bits/nan.h (__nan_union): Add __attribute_used__ * sysdeps/ieee754/bits/nan.h (__nan_union): Add __attribute_used__

View 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> 2004-04-13 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/mq_notify.c: Shut up GCC warning. * sysdeps/unix/sysv/linux/mq_notify.c: Shut up GCC warning.

View File

@ -618,6 +618,10 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
pd->guardsize = guardsize; 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 #ifndef __ASSUME_CLONE_STOPPED

View 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. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@ -236,6 +236,8 @@ struct pthread
size_t stackblock_size; size_t stackblock_size;
/* Size of the included guard area. */ /* Size of the included guard area. */
size_t guardsize; size_t guardsize;
/* This is what the user specified and what we will report. */
size_t reported_guardsize;
/* Resolver state. */ /* Resolver state. */
struct __res_state res; struct __res_state res;

View File

@ -59,7 +59,7 @@ pthread_getattr_np (thread_id, attr)
iattr->flags |= ATTR_FLAG_DETACHSTATE; iattr->flags |= ATTR_FLAG_DETACHSTATE;
/* This is the guardsize after adjusting it. */ /* This is the guardsize after adjusting it. */
iattr->guardsize = thread->guardsize; iattr->guardsize = thread->reported_guardsize;
/* The sizes are subject to alignment. */ /* The sizes are subject to alignment. */
if (__builtin_expect (thread->stackblock != NULL, 1)) if (__builtin_expect (thread->stackblock != NULL, 1))

View File

@ -37,8 +37,8 @@
#if _POSIX_THREADS #if _POSIX_THREADS
# include <pthread.h> # include <pthread.h>
#define mqsend(q) (mqsend) (q, __LINE__) # define mqsend(q) (mqsend) (q, __LINE__)
static inline int static int
(mqsend) (mqd_t q, int line) (mqsend) (mqd_t q, int line)
{ {
char c; char c;
@ -50,8 +50,8 @@ static inline int
return 0; return 0;
} }
#define mqrecv(q) (mqrecv) (q, __LINE__) # define mqrecv(q) (mqrecv) (q, __LINE__)
static inline int static int
(mqrecv) (mqd_t q, int line) (mqrecv) (mqd_t q, int line)
{ {
char c; char c;
@ -104,7 +104,7 @@ fct (union sigval s)
fct_err |= mqsend (q); fct_err |= mqsend (q);
} }
#define TEST_FUNCTION do_test () # define TEST_FUNCTION do_test ()
static int static int
do_test (void) do_test (void)
{ {