[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r8005 - in /fsf/trunk/ports: ./ sysdeps/unix/sysv/linux/hppa/nptl/ sysdeps/unix/sysv/linux/hppa/nptl/bits/ sysdeps/unix/sysv...
- To: commits@xxxxxxxxxx
- Subject: [commits] r8005 - in /fsf/trunk/ports: ./ sysdeps/unix/sysv/linux/hppa/nptl/ sysdeps/unix/sysv/linux/hppa/nptl/bits/ sysdeps/unix/sysv...
- From: eglibc@xxxxxxxxxx
- Date: Fri, 27 Feb 2009 08:07:22 -0000
Author: eglibc
Date: Fri Feb 27 00:07:22 2009
New Revision: 8005
Log:
Import glibc-ports-mainline for 2009-02-27
Modified:
fsf/trunk/ports/ChangeLog.hppa
fsf/trunk/ports/ChangeLog.mips
fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h
fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h
fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/unwind-forcedunwind.c
fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/unwind-resume.c
fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/bits/stat.h
Modified: fsf/trunk/ports/ChangeLog.hppa
==============================================================================
--- fsf/trunk/ports/ChangeLog.hppa (original)
+++ fsf/trunk/ports/ChangeLog.hppa Fri Feb 27 00:07:22 2009
@@ -1,3 +1,22 @@
+2009-02-25 Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h:
+ Adjust comment. Sort macros alphabetically. Remove old
+ lock comments.
+
+2009-02-25 Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/hppa/nptl/unwind-forcedunwind.c:
+ Update from nptl/sysdeps/pthread/unwind-forcedunwind.c
+ * sysdeps/unix/sysv/linux/hppa/nptl/unwind-resume.c:
+ Update from nptl/sysdeps/pthread/unwind-resume.c
+
+2009-02-25 Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: Define
+ FUTEX_WAIT_BITSET, FUTEX_WAKE_BITSET, FUTEX_CLOCK_REALTIME,
+ and FUTEX_BITSET_MATCH_ANY.
+
2009-02-22 Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx>
* sysdeps/unix/sysv/linux/hppa/Versions: Add missing bracket.
Modified: fsf/trunk/ports/ChangeLog.mips
==============================================================================
--- fsf/trunk/ports/ChangeLog.mips (original)
+++ fsf/trunk/ports/ChangeLog.mips Fri Feb 27 00:07:22 2009
@@ -1,3 +1,8 @@
+2009-02-26 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/mips/bits/stat.h: Protect UTIME_NOW and
+ UTIME_OMIT only with __USE_ATFILE.
+
2009-02-13 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
[BZ #7040]
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h Fri Feb 27 00:07:22 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2006, 2007, 2009 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
@@ -21,42 +21,29 @@
/* Linuxthread type sizes (bytes):
sizeof(pthread_attr_t) = 0x24 (36)
+ sizeof(pthread_barrier_t) = 0x30 (48)
+ sizeof(pthread_barrierattr_t) = 0x4 (4)
+ sizeof(pthread_cond_t) = 0x30 (48)
+ sizeof(pthread_condattr_t) = 0x4 (4)
sizeof(pthread_mutex_t) = 0x30 (48)
sizeof(pthread_mutexattr_t) = 0x4 (4)
- sizeof(pthread_cond_t) = 0x30 (48)
- = Expanded to 64 bytes in NPTL.
- sizeof(pthread_cond_compat_t) = 0xc (12)
- = Did not exist in Linuxthreads.
- sizeof(pthread_condattr_t) = 0x4 (4)
sizeof(pthread_rwlock_t) = 0x40 (64)
sizeof(pthread_rwlockattr_t) = 0x8 (8)
- sizeof(pthread_barrier_t) = 0x30 (48)
- sizeof(pthread_barrierattr_t) = 0x4 (4) */
+ sizeof(pthread_spinlock_t) = 0x10 (16) */
#define __SIZEOF_PTHREAD_ATTR_T 36
+#define __SIZEOF_PTHREAD_BARRIER_T 48
+#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
+#define __SIZEOF_PTHREAD_COND_T 64
+#define __SIZEOF_PTHREAD_CONDATTR_T 4
#define __SIZEOF_PTHREAD_MUTEX_T 48
#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
-#define __SIZEOF_PTHREAD_COND_T 64
-#define __SIZEOF_PTHREAD_COND_COMPAT_T 12
-#define __SIZEOF_PTHREAD_CONDATTR_T 4
#define __SIZEOF_PTHREAD_RWLOCK_T 64
#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
-#define __SIZEOF_PTHREAD_BARRIER_T 48
-#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
/* Thread identifiers. The structure of the attribute type is not
exposed on purpose. */
typedef unsigned long int pthread_t;
-
-/* Our old basic lock type, listed here for posterity.
- We needed self-aligning locks for linuxthreads LDCW
- implementation. For NPTL we use LWS Compare and
- Exchange to implement primitives. */
-#if 0
-typedef volatile struct {
- int lock[4];
-} __attribute__ ((aligned(16))) __atomic_lock_t;
-#endif
typedef union
{
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h Fri Feb 27 00:07:22 2009
@@ -41,7 +41,12 @@
#define FUTEX_LOCK_PI 6
#define FUTEX_UNLOCK_PI 7
#define FUTEX_TRYLOCK_PI 8
+#define FUTEX_WAIT_BITSET 9
+#define FUTEX_WAKE_BITSET 10
#define FUTEX_PRIVATE_FLAG 128
+#define FUTEX_CLOCK_REALTIME 256
+
+#define FUTEX_BITSET_MATCH_ANY 0xffffffff
/* Bits used in robust mutex implementation. */
#define FUTEX_WAITERS 0x80000000
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/unwind-forcedunwind.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/unwind-forcedunwind.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/unwind-forcedunwind.c Fri Feb 27 00:07:22 2009
@@ -1,5 +1,6 @@
-/* Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2005, 2006, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
+ Contributed by Jakub Jelinek <jakub@xxxxxxxxxx>.
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
@@ -20,8 +21,7 @@
#include <stdio.h>
#include <unwind.h>
#include <pthreadP.h>
-
-#define LIBGCC_S_SO "libgcc_s.so.4"
+#include <sysdep.h>
static void *libgcc_s_handle;
static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
@@ -32,15 +32,16 @@
(struct _Unwind_Exception *, _Unwind_Stop_Fn, void *);
static _Unwind_Word (*libgcc_s_getcfa) (struct _Unwind_Context *);
-#ifndef LIBGCC_S_SO
-#define LIBGCC_S_SO "libgcc_s.so.1"
-#endif
+#define LIBGCC_S_SO "libgcc_s.so.4"
void
__attribute_noinline__
pthread_cancel_init (void)
{
- void *resume, *personality, *forcedunwind, *getcfa;
+ void *resume;
+ void *personality;
+ void *forcedunwind;
+ void *getcfa;
void *handle;
if (__builtin_expect (libgcc_s_handle != NULL, 1))
@@ -62,13 +63,17 @@
|| ARCH_CANCEL_INIT (handle)
#endif
)
- __libc_fatal ("libgcc_s.so must be installed for pthread_cancel to work\n");
+ __libc_fatal (LIBGCC_S_SO " must be installed for pthread_cancel to work\n");
+ PTR_MANGLE (resume);
libgcc_s_resume = resume;
+ PTR_MANGLE (personality);
libgcc_s_personality = personality;
+ PTR_MANGLE (forcedunwind);
libgcc_s_forcedunwind = forcedunwind;
+ PTR_MANGLE (getcfa);
libgcc_s_getcfa = getcfa;
- /* Make sure libgcc_s_getcfa is written last. Otherwise,
+ /* Make sure libgcc_s_handle is written last. Otherwise,
pthread_cancel_init might return early even when the pointer the
caller is interested in is not initialized yet. */
atomic_write_barrier ();
@@ -90,10 +95,12 @@
void
_Unwind_Resume (struct _Unwind_Exception *exc)
{
- if (__builtin_expect (libgcc_s_resume == NULL, 0))
+ if (__builtin_expect (libgcc_s_handle == NULL, 0))
pthread_cancel_init ();
- libgcc_s_resume (exc);
+ void (*resume) (struct _Unwind_Exception *exc) = libgcc_s_resume;
+ PTR_DEMANGLE (resume);
+ resume (exc);
}
_Unwind_Reason_Code
@@ -102,28 +109,37 @@
struct _Unwind_Exception *ue_header,
struct _Unwind_Context *context)
{
- if (__builtin_expect (libgcc_s_personality == NULL, 0))
+ if (__builtin_expect (libgcc_s_handle == NULL, 0))
pthread_cancel_init ();
- return libgcc_s_personality (version, actions, exception_class,
- ue_header, context);
+ _Unwind_Reason_Code (*personality)
+ (int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
+ struct _Unwind_Context *) = libgcc_s_personality;
+ PTR_DEMANGLE (personality);
+ return personality (version, actions, exception_class, ue_header, context);
}
_Unwind_Reason_Code
_Unwind_ForcedUnwind (struct _Unwind_Exception *exc, _Unwind_Stop_Fn stop,
void *stop_argument)
{
- if (__builtin_expect (libgcc_s_forcedunwind == NULL, 0))
+ if (__builtin_expect (libgcc_s_handle == NULL, 0))
pthread_cancel_init ();
- return libgcc_s_forcedunwind (exc, stop, stop_argument);
+ _Unwind_Reason_Code (*forcedunwind)
+ (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *)
+ = libgcc_s_forcedunwind;
+ PTR_DEMANGLE (forcedunwind);
+ return forcedunwind (exc, stop, stop_argument);
}
_Unwind_Word
_Unwind_GetCFA (struct _Unwind_Context *context)
{
- if (__builtin_expect (libgcc_s_getcfa == NULL, 0))
+ if (__builtin_expect (libgcc_s_handle == NULL, 0))
pthread_cancel_init ();
- return libgcc_s_getcfa (context);
+ _Unwind_Word (*getcfa) (struct _Unwind_Context *) = libgcc_s_getcfa;
+ PTR_DEMANGLE (getcfa);
+ return getcfa (context);
}
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/unwind-resume.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/unwind-resume.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/unwind-resume.c Fri Feb 27 00:07:22 2009
@@ -1,5 +1,6 @@
-/* Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
+ Contributed by Jakub Jelinek <jakub@xxxxxxxxxx>.
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
@@ -27,11 +28,6 @@
(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
struct _Unwind_Context *);
-#ifndef LIBGCC_S_SO
-#error LIBGCC_S_SO
-#define LIBGCC_S_SO "libgcc_s.so.1"
-#endif
-
static void
init (void)
{
@@ -43,7 +39,7 @@
if (handle == NULL
|| (resume = __libc_dlsym (handle, "_Unwind_Resume")) == NULL
|| (personality = __libc_dlsym (handle, "__gcc_personality_v0")) == NULL)
- __libc_fatal ("libgcc_s.so must be installed for pthread_cancel to work\n");
+ __libc_fatal (LIBGCC_S_SO " must be installed for pthread_cancel to work\n");
libgcc_s_resume = resume;
libgcc_s_personality = personality;
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/bits/stat.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/bits/stat.h (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/mips/bits/stat.h Fri Feb 27 00:07:22 2009
@@ -1,5 +1,5 @@
/* Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004,
- 2007 Free Software Foundation, Inc.
+ 2007, 2009 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
@@ -254,8 +254,7 @@
#define __S_IWRITE 0200 /* Write by owner. */
#define __S_IEXEC 0100 /* Execute by owner. */
-#if defined __USE_ATFILE || defined __USE_GNU
-/* XXX This will change to the macro for the next 2008 POSIX revision. */
+#ifdef __USE_ATFILE
# define UTIME_NOW ((1l << 30) - 1l)
# define UTIME_OMIT ((1l << 30) - 2l)
#endif