Hello community,
here is the log from the commit of package glibc
checked in at Mon Nov 17 16:32:56 CET 2008.
--------
--- glibc/glibc.changes 2008-11-06 18:25:41.000000000 +0100
+++ /mounts/work_src_done/STABLE/glibc/glibc.changes 2008-11-17 14:35:49.904985000 +0100
@@ -1,0 +2,5 @@
+Mon Nov 17 14:34:45 CET 2008 - pbaudis@suse.cz
+
+- Update to glibc-2.9 final
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
glibc-2.8.90-2008101314.tar.bz2
glibc-fix-s390-64bit-lr-stack-frame-removal.diff
glibc-fix-s390-atomics.diff
glibc-nptl-2.8.90-2008101314.tar.bz2
res_send.diff
New:
----
glibc-2.9-2008111711.tar.bz2
glibc-nptl-2.9-2008111711.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ glibc.spec ++++++
--- /var/tmp/diff_new_pack.Y26185/_old 2008-11-17 16:30:59.000000000 +0100
+++ /var/tmp/diff_new_pack.Y26185/_new 2008-11-17 16:30:59.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package glibc (Version 2.8.90)
+# spec file for package glibc (Version 2.9)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -68,9 +68,9 @@
%endif
Provides: rtld(GNU_HASH)
AutoReqProv: on
-Version: 2.8.90
-Release: 18
-%define snapshot_date 2008101314
+Version: 2.9
+Release: 1
+%define snapshot_date 2008111711
Url: http://www.gnu.org/software/libc/libc.html
PreReq: filesystem
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -131,9 +131,6 @@
Patch62: glibc-getgroups-fortify.diff
Patch63: missing-include-build-fix.diff
Patch64: glibc-no-unwind-tables.diff
-Patch65: res_send.diff
-Patch66: glibc-fix-s390-atomics.diff
-Patch67: glibc-fix-s390-64bit-lr-stack-frame-removal.diff
%description
The GNU C Library provides the most important standard libraries used
@@ -279,7 +276,7 @@
%prep
-%setup -n glibc -q -a 1 -a 3 -a 4 -a 14
+%setup -n glibc-%{version} -q -a 1 -a 3 -a 4 -a 14
%patch
# libNoVersion part is only active on ix86
%patch1
@@ -330,12 +327,9 @@
%patch40
%patch5
%patch60
-%patch62 -p1
+%patch62
%patch63
%patch64
-%patch65
-%patch66
-%patch67
#
# Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed!
#
@@ -1101,6 +1095,8 @@
%{_libdir}/libdl_p.a
%changelog
+* Mon Nov 17 2008 pbaudis@suse.cz
+- Update to glibc-2.9 final
* Thu Nov 06 2008 jjolly@suse.de
- Added patch to fix s390x 64bit stack frame problem
* Fri Oct 31 2008 matz@suse.de
++++++ glibc-2.8.90-2008101314.tar.bz2 -> glibc-2.9-2008111711.tar.bz2 ++++++
glibc/glibc-2.8.90-2008101314.tar.bz2 /mounts/work_src_done/STABLE/glibc/glibc-2.9-2008111711.tar.bz2 differ: byte 11, line 1
++++++ glibc-fix-nscd.diff ++++++
--- /var/tmp/diff_new_pack.Y26185/_old 2008-11-17 16:31:00.000000000 +0100
+++ /var/tmp/diff_new_pack.Y26185/_new 2008-11-17 16:31:00.000000000 +0100
@@ -13,7 +13,7 @@
diff -urp nscd.mm/connections.c nscd/connections.c
--- nscd.mm/connections.c 2008-10-13 13:09:35.120009000 +0000
+++ nscd/connections.c 2008-10-13 14:55:22.417018210 +0000
-@@ -1816,22 +1816,7 @@ main_loop_poll (void)
+@@ -1816,22 +1816,5 @@ main_loop_poll (void)
/* We have a new incoming connection. Accept the connection. */
int fd;
@@ -22,12 +22,14 @@
- if (have_paccept >= 0)
-#endif
- {
+-#if 0
- fd = TEMP_FAILURE_RETRY (paccept (sock, NULL, NULL, NULL,
- SOCK_NONBLOCK));
-#ifndef __ASSUME_PACCEPT
- if (have_paccept == 0)
- have_paccept = fd != -1 || errno != ENOSYS ? 1 : -1;
-#endif
+-#endif
- }
-#ifndef __ASSUME_PACCEPT
- if (have_paccept < 0)
++++++ glibc-getgroups-fortify.diff ++++++
--- /var/tmp/diff_new_pack.Y26185/_old 2008-11-17 16:31:00.000000000 +0100
+++ /var/tmp/diff_new_pack.Y26185/_new 2008-11-17 16:31:00.000000000 +0100
@@ -1,7 +1,7 @@
Index: glibc/posix/bits/unistd.h
===================================================================
---- glibc.orig/posix/bits/unistd.h 2007-10-16 14:58:46.000000000 +0200
-+++ glibc/posix/bits/unistd.h 2008-09-18 11:38:25.000000000 +0200
+--- posix/bits/unistd.h 2007-10-16 14:58:46.000000000 +0200
++++ posix/bits/unistd.h 2008-09-18 11:38:25.000000000 +0200
@@ -270,7 +270,8 @@ __NTH (getgroups (int __size, __gid_t __
if (!__builtin_constant_p (__size))
return __getgroups_chk (__size, __list, __bos (__list));
++++++ glibc-nptl-2.8.90-2008101314.tar.bz2 -> glibc-nptl-2.9-2008111711.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nptl/ChangeLog new/nptl/ChangeLog
--- old/nptl/ChangeLog 2008-10-13 14:33:08.000000000 +0200
+++ new/nptl/ChangeLog 2008-11-14 16:40:49.000000000 +0100
@@ -1,3 +1,40 @@
+2008-11-12 Jakub Jelinek
+
+ [BZ #7008]
+ * pthread_condattr_setclock.c (pthread_condattr_setclock): Fix masking
+ of old value.
+ * pthread_cond_init.c (__pthread_cond_init): Fix
+ cond->__data.__nwaiters initialization.
+ * Makefile (tests): Add tst-cond23.
+ * tst-cond23.c: New test.
+
+2008-11-07 Jakub Jelinek
+
+ * sysdeps/pthread/malloc-machine.h (MALLOC): Adjust __libc_tsd_define
+ arguments.
+ (tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get}
+ arguments.
+
+2008-11-01 Ulrich Drepper
+
+ [BZ #6955]
+ * pthread_mutex_lock.c: Add support for private PI mutexes.
+ * pthread_mutex_timedlock.c: Likewise.
+ * pthread_mutex_trylock.c: Likewise.
+ * pthread_mutex_unlock.c: Likewise.
+ Patch mostly by Ben Jackson .
+
+2008-10-31 Ulrich Drepper
+
+ [BZ #6843]
+ * sysdeps/pthread/gai_misc.h (__gai_create_helper_thread):
+ Increase stack size for helper thread.
+
+2008-10-06 Martin Schwidefsky
+
+ * sysdeps/s390/tls.h (THREAD_SET_STACK_GUARD): Add empty inline
+ assembly with a clobber list for access registers a0 and a1.
+
2008-09-11 Martin Schwidefsky
* sysdeps/unix/sysv/linux/fork.c (__libc_fork): Add memory barrier
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nptl/Makefile new/nptl/Makefile
--- old/nptl/Makefile 2008-08-25 15:02:45.000000000 +0200
+++ new/nptl/Makefile 2008-11-14 16:40:49.000000000 +0100
@@ -205,7 +205,7 @@
tst-cond1 tst-cond2 tst-cond3 tst-cond4 tst-cond5 tst-cond6 tst-cond7 \
tst-cond8 tst-cond9 tst-cond10 tst-cond11 tst-cond12 tst-cond13 \
tst-cond14 tst-cond15 tst-cond16 tst-cond17 tst-cond18 tst-cond19 \
- tst-cond20 tst-cond21 tst-cond22 \
+ tst-cond20 tst-cond21 tst-cond22 tst-cond23 \
tst-robust1 tst-robust2 tst-robust3 tst-robust4 tst-robust5 \
tst-robust6 tst-robust7 tst-robust8 tst-robust9 \
tst-robustpi1 tst-robustpi2 tst-robustpi3 tst-robustpi4 tst-robustpi5 \
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nptl/pthread_condattr_setclock.c new/nptl/pthread_condattr_setclock.c
--- old/nptl/pthread_condattr_setclock.c 2007-10-16 14:58:33.000000000 +0200
+++ new/nptl/pthread_condattr_setclock.c 2008-11-14 16:40:50.000000000 +0100
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper , 2003.
@@ -66,7 +66,7 @@
int *valuep = &((struct pthread_condattr *) attr)->value;
- *valuep = ((*valuep & ~(1 << (COND_NWAITERS_SHIFT + 1)) & ~1)
+ *valuep = ((*valuep & ~(((1 << COND_NWAITERS_SHIFT) - 1) << 1))
| (clock_id << 1));
return 0;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nptl/pthread_cond_init.c new/nptl/pthread_cond_init.c
--- old/nptl/pthread_cond_init.c 2007-10-16 14:58:33.000000000 +0200
+++ new/nptl/pthread_cond_init.c 2008-11-14 16:40:49.000000000 +0100
@@ -1,4 +1,5 @@
-/* Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper , 2002.
@@ -31,8 +32,9 @@
cond->__data.__lock = LLL_LOCK_INITIALIZER;
cond->__data.__futex = 0;
cond->__data.__nwaiters = (icond_attr != NULL
- && ((icond_attr->value
- & (COND_NWAITERS_SHIFT << 1)) >> 1));
+ ? ((icond_attr->value >> 1)
+ & ((1 << COND_NWAITERS_SHIFT) - 1))
+ : CLOCK_REALTIME);
cond->__data.__total_seq = 0;
cond->__data.__wakeup_seq = 0;
cond->__data.__woken_seq = 0;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nptl/pthread_mutex_lock.c new/nptl/pthread_mutex_lock.c
--- old/nptl/pthread_mutex_lock.c 2007-10-16 14:58:33.000000000 +0200
+++ new/nptl/pthread_mutex_lock.c 2008-11-14 16:40:50.000000000 +0100
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper , 2002.
@@ -269,9 +269,13 @@
{
/* The mutex is locked. The kernel will now take care of
everything. */
+ int private = (robust
+ ? PTHREAD_ROBUST_MUTEX_PSHARED (mutex)
+ : PTHREAD_MUTEX_PSHARED (mutex));
INTERNAL_SYSCALL_DECL (__err);
int e = INTERNAL_SYSCALL (futex, __err, 4, &mutex->__data.__lock,
- FUTEX_LOCK_PI, 1, 0);
+ __lll_private_flag (FUTEX_LOCK_PI,
+ private), 1, 0);
if (INTERNAL_SYSCALL_ERROR_P (e, __err)
&& (INTERNAL_SYSCALL_ERRNO (e, __err) == ESRCH
@@ -327,7 +331,10 @@
INTERNAL_SYSCALL_DECL (__err);
INTERNAL_SYSCALL (futex, __err, 4, &mutex->__data.__lock,
- FUTEX_UNLOCK_PI, 0, 0);
+ __lll_private_flag (FUTEX_UNLOCK_PI,
+ PTHREAD_ROBUST_MUTEX_PSHARED (mutex)
+),
+ 0, 0);
THREAD_SETMEM (THREAD_SELF, robust_head.list_op_pending, NULL);
return ENOTRECOVERABLE;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nptl/pthread_mutex_timedlock.c new/nptl/pthread_mutex_timedlock.c
--- old/nptl/pthread_mutex_timedlock.c 2007-10-16 14:58:33.000000000 +0200
+++ new/nptl/pthread_mutex_timedlock.c 2008-11-14 16:40:50.000000000 +0100
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper , 2002.
@@ -254,10 +254,15 @@
/* The mutex is locked. The kernel will now take care of
everything. The timeout value must be a relative value.
Convert it. */
+ int private = (robust
+ ? PTHREAD_ROBUST_MUTEX_PSHARED (mutex)
+ : PTHREAD_MUTEX_PSHARED (mutex));
INTERNAL_SYSCALL_DECL (__err);
int e = INTERNAL_SYSCALL (futex, __err, 4, &mutex->__data.__lock,
- FUTEX_LOCK_PI, 1, abstime);
+ __lll_private_flag (FUTEX_LOCK_PI,
+ private), 1,
+ abstime);
if (INTERNAL_SYSCALL_ERROR_P (e, __err))
{
if (INTERNAL_SYSCALL_ERRNO (e, __err) == ETIMEDOUT)
@@ -331,7 +336,9 @@
INTERNAL_SYSCALL_DECL (__err);
INTERNAL_SYSCALL (futex, __err, 4, &mutex->__data.__lock,
- FUTEX_UNLOCK_PI, 0, 0);
+ __lll_private_flag (FUTEX_UNLOCK_PI,
+ PTHREAD_ROBUST_MUTEX_PSHARED (mutex)),
+ 0, 0);
THREAD_SETMEM (THREAD_SELF, robust_head.list_op_pending, NULL);
return ENOTRECOVERABLE;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nptl/pthread_mutex_trylock.c new/nptl/pthread_mutex_trylock.c
--- old/nptl/pthread_mutex_trylock.c 2007-10-16 14:58:33.000000000 +0200
+++ new/nptl/pthread_mutex_trylock.c 2008-11-14 16:40:50.000000000 +0100
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005-2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper , 2002.
@@ -231,9 +231,13 @@
/* The mutex owner died. The kernel will now take care of
everything. */
+ int private = (robust
+ ? PTHREAD_ROBUST_MUTEX_PSHARED (mutex)
+ : PTHREAD_MUTEX_PSHARED (mutex));
INTERNAL_SYSCALL_DECL (__err);
int e = INTERNAL_SYSCALL (futex, __err, 4, &mutex->__data.__lock,
- FUTEX_TRYLOCK_PI, 0, 0);
+ __lll_private_flag (FUTEX_TRYLOCK_PI,
+ private), 0, 0);
if (INTERNAL_SYSCALL_ERROR_P (e, __err)
&& INTERNAL_SYSCALL_ERRNO (e, __err) == EWOULDBLOCK)
@@ -274,7 +278,9 @@
INTERNAL_SYSCALL_DECL (__err);
INTERNAL_SYSCALL (futex, __err, 4, &mutex->__data.__lock,
- FUTEX_UNLOCK_PI, 0, 0);
+ __lll_private_flag (FUTEX_UNLOCK_PI,
+ PTHREAD_ROBUST_MUTEX_PSHARED (mutex)),
+ 0, 0);
THREAD_SETMEM (THREAD_SELF, robust_head.list_op_pending, NULL);
return ENOTRECOVERABLE;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nptl/pthread_mutex_unlock.c new/nptl/pthread_mutex_unlock.c
--- old/nptl/pthread_mutex_unlock.c 2007-10-16 14:58:33.000000000 +0200
+++ new/nptl/pthread_mutex_unlock.c 2008-11-14 16:40:50.000000000 +0100
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2005-2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper , 2002.
@@ -196,9 +196,13 @@
THREAD_GETMEM (THREAD_SELF,
tid)))
{
+ int robust = mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP;
+ int private = (robust
+ ? PTHREAD_ROBUST_MUTEX_PSHARED (mutex)
+ : PTHREAD_MUTEX_PSHARED (mutex));
INTERNAL_SYSCALL_DECL (__err);
INTERNAL_SYSCALL (futex, __err, 2, &mutex->__data.__lock,
- FUTEX_UNLOCK_PI);
+ __lll_private_flag (FUTEX_UNLOCK_PI, private));
}
THREAD_SETMEM (THREAD_SELF, robust_head.list_op_pending, NULL);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nptl/sysdeps/pthread/gai_misc.h new/nptl/sysdeps/pthread/gai_misc.h
--- old/nptl/sysdeps/pthread/gai_misc.h 2007-10-16 14:58:35.000000000 +0200
+++ new/nptl/sysdeps/pthread/gai_misc.h 2008-11-14 16:40:54.000000000 +0100
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -97,7 +97,7 @@
pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
/* The helper thread needs only very little resources. */
- (void) pthread_attr_setstacksize (&attr, PTHREAD_STACK_MIN);
+ (void) pthread_attr_setstacksize (&attr, 4 * PTHREAD_STACK_MIN);
/* Block all signals in the helper thread. To do this thoroughly we
temporarily have to block all signals here. */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nptl/sysdeps/pthread/malloc-machine.h new/nptl/sysdeps/pthread/malloc-machine.h
--- old/nptl/sysdeps/pthread/malloc-machine.h 2008-04-10 22:21:36.000000000 +0200
+++ new/nptl/sysdeps/pthread/malloc-machine.h 2008-11-14 16:40:54.000000000 +0100
@@ -1,6 +1,6 @@
/* Basic platform-independent macro definitions for mutexes,
thread-specific data and parameters for malloc.
- Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -63,10 +63,10 @@
#include
typedef int tsd_key_t[1]; /* no key data structure, libc magic does it */
-__libc_tsd_define (static, MALLOC) /* declaration/common definition */
+__libc_tsd_define (static, void *, MALLOC) /* declaration/common definition */
#define tsd_key_create(key, destr) ((void) (key))
-#define tsd_setspecific(key, data) __libc_tsd_set (MALLOC, (data))
-#define tsd_getspecific(key, vptr) ((vptr) = __libc_tsd_get (MALLOC))
+#define tsd_setspecific(key, data) __libc_tsd_set (void *, MALLOC, (data))
+#define tsd_getspecific(key, vptr) ((vptr) = __libc_tsd_get (void *, MALLOC))
#include
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nptl/sysdeps/s390/tls.h new/nptl/sysdeps/s390/tls.h
--- old/nptl/sysdeps/s390/tls.h 2007-10-16 14:58:35.000000000 +0200
+++ new/nptl/sysdeps/s390/tls.h 2008-11-14 16:40:54.000000000 +0100
@@ -161,7 +161,12 @@
/* Set the stack guard field in TCB head. */
#define THREAD_SET_STACK_GUARD(value) \
- THREAD_SETMEM (THREAD_SELF, header.stack_guard, value)
+ do \
+ { \
+ __asm __volatile ("" : : : "a0", "a1"); \
+ THREAD_SETMEM (THREAD_SELF, header.stack_guard, value); \
+ } \
+ while (0)
#define THREAD_COPY_STACK_GUARD(descr) \
((descr)->header.stack_guard \
= THREAD_GETMEM (THREAD_SELF, header.stack_guard))
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/nptl/tst-cond23.c new/nptl/tst-cond23.c
--- old/nptl/tst-cond23.c 1970-01-01 01:00:00.000000000 +0100
+++ new/nptl/tst-cond23.c 2008-11-12 14:39:08.000000000 +0100
@@ -0,0 +1,184 @@
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Jakub Jelinek , 2008.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include
+#include
+#include
+#include
+#include
+
+
+#if defined _POSIX_CLOCK_SELECTION && _POSIX_CLOCK_SELECTION >= 0
+static int
+check (pthread_condattr_t *condattr, int pshared, clockid_t cl)
+{
+ clockid_t cl2;
+ if (pthread_condattr_getclock (condattr, &cl2) != 0)
+ {
+ puts ("condattr_getclock failed");
+ return 1;
+ }
+ if (cl != cl2)
+ {
+ printf ("condattr_getclock returned wrong value: %d, expected %d\n",
+ (int) cl2, (int) cl);
+ return 1;
+ }
+
+ int p;
+ if (pthread_condattr_getpshared (condattr, &p) != 0)
+ {
+ puts ("condattr_getpshared failed");
+ return 1;
+ }
+ else if (p != pshared)
+ {
+ printf ("condattr_getpshared returned wrong value: %d, expected %d\n",
+ p, pshared);
+ return 1;
+ }
+
+ return 0;
+}
+
+static int
+run_test (clockid_t cl)
+{
+ pthread_condattr_t condattr;
+
+ printf ("clock = %d\n", (int) cl);
+
+ if (pthread_condattr_init (&condattr) != 0)
+ {
+ puts ("condattr_init failed");
+ return 1;
+ }
+
+ if (check (&condattr, PTHREAD_PROCESS_PRIVATE, CLOCK_REALTIME))
+ return 1;
+
+ if (pthread_condattr_setpshared (&condattr, PTHREAD_PROCESS_SHARED) != 0)
+ {
+ puts ("1st condattr_setpshared failed");
+ return 1;
+ }
+
+ if (check (&condattr, PTHREAD_PROCESS_SHARED, CLOCK_REALTIME))
+ return 1;
+
+ if (pthread_condattr_setclock (&condattr, cl) != 0)
+ {
+ puts ("1st condattr_setclock failed");
+ return 1;
+ }
+
+ if (check (&condattr, PTHREAD_PROCESS_SHARED, cl))
+ return 1;
+
+ if (pthread_condattr_setpshared (&condattr, PTHREAD_PROCESS_PRIVATE) != 0)
+ {
+ puts ("2nd condattr_setpshared failed");
+ return 1;
+ }
+
+ if (check (&condattr, PTHREAD_PROCESS_PRIVATE, cl))
+ return 1;
+
+ if (pthread_condattr_setclock (&condattr, CLOCK_REALTIME) != 0)
+ {
+ puts ("2nd condattr_setclock failed");
+ return 1;
+ }
+
+ if (check (&condattr, PTHREAD_PROCESS_PRIVATE, CLOCK_REALTIME))
+ return 1;
+
+ if (pthread_condattr_setclock (&condattr, cl) != 0)
+ {
+ puts ("3rd condattr_setclock failed");
+ return 1;
+ }
+
+ if (check (&condattr, PTHREAD_PROCESS_PRIVATE, cl))
+ return 1;
+
+ if (pthread_condattr_setpshared (&condattr, PTHREAD_PROCESS_SHARED) != 0)
+ {
+ puts ("3rd condattr_setpshared failed");
+ return 1;
+ }
+
+ if (check (&condattr, PTHREAD_PROCESS_SHARED, cl))
+ return 1;
+
+ if (pthread_condattr_setclock (&condattr, CLOCK_REALTIME) != 0)
+ {
+ puts ("4th condattr_setclock failed");
+ return 1;
+ }
+
+ if (check (&condattr, PTHREAD_PROCESS_SHARED, CLOCK_REALTIME))
+ return 1;
+
+ if (pthread_condattr_destroy (&condattr) != 0)
+ {
+ puts ("condattr_destroy failed");
+ return 1;
+ }
+
+ return 0;
+}
+#endif
+
+
+static int
+do_test (void)
+{
+#if !defined _POSIX_CLOCK_SELECTION || _POSIX_CLOCK_SELECTION == -1
+
+ puts ("_POSIX_CLOCK_SELECTION not supported, test skipped");
+ return 0;
+
+#else
+
+ int res = run_test (CLOCK_REALTIME);
+
+# if defined _POSIX_MONOTONIC_CLOCK && _POSIX_MONOTONIC_CLOCK >= 0
+# if _POSIX_MONOTONIC_CLOCK == 0
+ int e = sysconf (_SC_MONOTONIC_CLOCK);
+ if (e < 0)
+ puts ("CLOCK_MONOTONIC not supported");
+ else if (e == 0)
+ {
+ puts ("sysconf (_SC_MONOTONIC_CLOCK) must not return 0");
+ res = 1;
+ }
+ else
+# endif
+ res |= run_test (CLOCK_MONOTONIC);
+# else
+ puts ("_POSIX_MONOTONIC_CLOCK not defined");
+# endif
+
+ return res;
+#endif
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org