* conform/conformtest.pl: Define $mustprepend{"stdio.h"}.
	* libio/stdio.h: Always define __need___va_list.
This commit is contained in:
Ulrich Drepper 2001-01-28 09:13:22 +00:00
parent ddd1037e4d
commit f9b9f291b7
9 changed files with 29 additions and 27 deletions

View File

@ -1,5 +1,8 @@
2001-01-28 Ulrich Drepper <drepper@redhat.com> 2001-01-28 Ulrich Drepper <drepper@redhat.com>
* conform/conformtest.pl: Define $mustprepend{"stdio.h"}.
* libio/stdio.h: Always define __need___va_list.
* conform/data/pthread.h-data: Make priority protocol related * conform/data/pthread.h-data: Make priority protocol related
functions optional. Fix typos. functions optional. Fix typos.

View File

@ -56,6 +56,7 @@ $CFLAGS{"XOPEN2K"} = "-I. '-D__attribute__(x)=' -D_XOPEN_SOURCE=600";
$mustprepend{'regex.h'} = "#include <sys/types.h>\n"; $mustprepend{'regex.h'} = "#include <sys/types.h>\n";
$mustprepend{'sched.h'} = "#include <sys/types.h>\n"; $mustprepend{'sched.h'} = "#include <sys/types.h>\n";
$mustprepend{'signal.h'} = "#include <pthread.h>\n"; $mustprepend{'signal.h'} = "#include <pthread.h>\n";
$mustprepend{'stdio.h'} = "#include <stdarg.h>\n";
$mustprepend{'wchar.h'} = "#include <stdarg.h>\n"; $mustprepend{'wchar.h'} = "#include <stdarg.h>\n";
$mustprepend{'wordexp.h'} = "#include <stddef.h>\n"; $mustprepend{'wordexp.h'} = "#include <stddef.h>\n";

View File

@ -32,9 +32,7 @@ __BEGIN_DECLS
# define __need_NULL # define __need_NULL
# include <stddef.h> # include <stddef.h>
# ifndef __USE_XOPEN # define __need___va_list
# define __need___va_list
# endif
# include <stdarg.h> # include <stdarg.h>
# include <bits/types.h> # include <bits/types.h>

View File

@ -35,8 +35,8 @@
/* Array of active threads. Entry 0 is reserved for the initial thread. */ /* Array of active threads. Entry 0 is reserved for the initial thread. */
struct pthread_handle_struct __pthread_handles[PTHREAD_THREADS_MAX] = struct pthread_handle_struct __pthread_handles[PTHREAD_THREADS_MAX] =
{ { LOCK_INITIALIZER, &__pthread_initial_thread, 0}, { { __LOCK_INITIALIZER, &__pthread_initial_thread, 0},
{ LOCK_INITIALIZER, &__pthread_manager_thread, 0}, /* All NULLs */ }; { __LOCK_INITIALIZER, &__pthread_manager_thread, 0}, /* All NULLs */ };
/* For debugging purposes put the maximum number of threads in a variable. */ /* For debugging purposes put the maximum number of threads in a variable. */
const int __linuxthreads_pthread_threads_max = PTHREAD_THREADS_MAX; const int __linuxthreads_pthread_threads_max = PTHREAD_THREADS_MAX;

View File

@ -91,7 +91,7 @@ struct _pthread_descr_struct __pthread_initial_thread = {
0, /* Always index 0 */ 0, /* Always index 0 */
0, /* int p_report_events */ 0, /* int p_report_events */
{{{0, }}, 0, NULL}, /* td_eventbuf_t p_eventbuf */ {{{0, }}, 0, NULL}, /* td_eventbuf_t p_eventbuf */
ATOMIC_INITIALIZER, /* struct pthread_atomic p_resume_count */ __ATOMIC_INITIALIZER, /* struct pthread_atomic p_resume_count */
0, /* char p_woken_by_cancel */ 0, /* char p_woken_by_cancel */
0, /* char p_condvar_avail */ 0, /* char p_condvar_avail */
0, /* char p_sem_avail */ 0, /* char p_sem_avail */
@ -148,7 +148,7 @@ struct _pthread_descr_struct __pthread_manager_thread = {
1, /* Always index 1 */ 1, /* Always index 1 */
0, /* int p_report_events */ 0, /* int p_report_events */
{{{0, }}, 0, NULL}, /* td_eventbuf_t p_eventbuf */ {{{0, }}, 0, NULL}, /* td_eventbuf_t p_eventbuf */
ATOMIC_INITIALIZER, /* struct pthread_atomic p_resume_count */ __ATOMIC_INITIALIZER, /* struct pthread_atomic p_resume_count */
0, /* char p_woken_by_cancel */ 0, /* char p_woken_by_cancel */
0, /* char p_condvar_avail */ 0, /* char p_condvar_avail */
0, /* char p_sem_avail */ 0, /* char p_sem_avail */

View File

@ -99,7 +99,7 @@ extern int __pthread_unlock(struct _pthread_fastlock *lock);
static inline void __pthread_init_lock(struct _pthread_fastlock * lock) static inline void __pthread_init_lock(struct _pthread_fastlock * lock)
{ {
lock->__status = 0; lock->__status = 0;
lock->__spinlock = LT_SPINLOCK_INIT; lock->__spinlock = __LT_SPINLOCK_INIT;
} }
static inline int __pthread_trylock (struct _pthread_fastlock * lock) static inline int __pthread_trylock (struct _pthread_fastlock * lock)
@ -141,7 +141,7 @@ extern void __pthread_alt_unlock(struct _pthread_fastlock *lock);
static inline void __pthread_alt_init_lock(struct _pthread_fastlock * lock) static inline void __pthread_alt_init_lock(struct _pthread_fastlock * lock)
{ {
lock->__status = 0; lock->__status = 0;
lock->__spinlock = LT_SPINLOCK_INIT; lock->__spinlock = __LT_SPINLOCK_INIT;
} }
static inline int __pthread_alt_trylock (struct _pthread_fastlock * lock) static inline int __pthread_alt_trylock (struct _pthread_fastlock * lock)
@ -165,7 +165,7 @@ static inline int __pthread_alt_trylock (struct _pthread_fastlock * lock)
WRITE_MEMORY_BARRIER(); WRITE_MEMORY_BARRIER();
res = 0; res = 0;
} }
lock->__spinlock = LT_SPINLOCK_INIT; lock->__spinlock = __LT_SPINLOCK_INIT;
} }
return res; return res;
} }

View File

@ -1,5 +1,5 @@
/* Generic definitions for spinlock initializers. /* Generic definitions for spinlock initializers.
Copyright (C) 2000 Free Software Foundation, Inc. Copyright (C) 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -20,9 +20,9 @@
/* Initial value of a spinlock. Most platforms should use zero, /* Initial value of a spinlock. Most platforms should use zero,
unless they only implement a "test and clear" operation instead of unless they only implement a "test and clear" operation instead of
the usual "test and set". */ the usual "test and set". */
#define LT_SPINLOCK_INIT 0 #define __LT_SPINLOCK_INIT 0
/* Macros for lock initializers, using the above definition. */ /* Macros for lock initializers, using the above definition. */
#define LOCK_INITIALIZER { 0, LT_SPINLOCK_INIT } #define __LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT }
#define ALT_LOCK_INITIALIZER { 0, LT_SPINLOCK_INIT } #define __ALT_LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT }
#define ATOMIC_INITIALIZER { 0, LT_SPINLOCK_INIT } #define __ATOMIC_INITIALIZER { 0, __LT_SPINLOCK_INIT }

View File

@ -31,26 +31,26 @@ __BEGIN_DECLS
/* Initializers. */ /* Initializers. */
#define PTHREAD_MUTEX_INITIALIZER \ #define PTHREAD_MUTEX_INITIALIZER \
{0, 0, 0, PTHREAD_MUTEX_TIMED_NP, LOCK_INITIALIZER} {0, 0, 0, PTHREAD_MUTEX_TIMED_NP, __LOCK_INITIALIZER}
#ifdef __USE_GNU #ifdef __USE_GNU
# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \ # define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
{0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, LOCK_INITIALIZER} {0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, __LOCK_INITIALIZER}
# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \ # define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
{0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, LOCK_INITIALIZER} {0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, __LOCK_INITIALIZER}
# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \ # define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \
{0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, LOCK_INITIALIZER} {0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP, __LOCK_INITIALIZER}
#endif #endif
#define PTHREAD_COND_INITIALIZER {LOCK_INITIALIZER, 0} #define PTHREAD_COND_INITIALIZER {__LOCK_INITIALIZER, 0}
#ifdef __USE_UNIX98 #ifdef __USE_UNIX98
# define PTHREAD_RWLOCK_INITIALIZER \ # define PTHREAD_RWLOCK_INITIALIZER \
{ LOCK_INITIALIZER, 0, NULL, NULL, NULL, \ { __LOCK_INITIALIZER, 0, NULL, NULL, NULL, \
PTHREAD_RWLOCK_DEFAULT_NP, PTHREAD_PROCESS_PRIVATE } PTHREAD_RWLOCK_DEFAULT_NP, PTHREAD_PROCESS_PRIVATE }
#endif #endif
#ifdef __USE_GNU #ifdef __USE_GNU
# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \ # define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \
{ LOCK_INITIALIZER, 0, NULL, NULL, NULL, \ { __LOCK_INITIALIZER, 0, NULL, NULL, NULL, \
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, PTHREAD_PROCESS_PRIVATE } PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, PTHREAD_PROCESS_PRIVATE }
#endif #endif

View File

@ -1,5 +1,5 @@
/* PA-RISC specific definitions for spinlock initializers. /* PA-RISC specific definitions for spinlock initializers.
Copyright (C) 2000 Free Software Foundation, Inc. Copyright (C) 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -19,9 +19,9 @@
/* Initial value of a spinlock. PA-RISC only implements atomic load /* Initial value of a spinlock. PA-RISC only implements atomic load
and clear so this must be non-zero. */ and clear so this must be non-zero. */
#define LT_SPINLOCK_INIT 1 #define __LT_SPINLOCK_INIT 1
/* Macros for lock initializers, using the above definition. */ /* Macros for lock initializers, using the above definition. */
#define LOCK_INITIALIZER { 0, LT_SPINLOCK_INIT } #define __LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT }
#define ALT_LOCK_INITIALIZER { 0, LT_SPINLOCK_INIT } #define __ALT_LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT }
#define ATOMIC_INITIALIZER { 0, LT_SPINLOCK_INIT } #define __ATOMIC_INITIALIZER { 0, __LT_SPINLOCK_INIT }