alpha: Update for pthread_attr_t typedef changes.
authorRichard Henderson <rth@twiddle.net>
Sun, 4 Mar 2012 19:30:01 +0000 (11:30 -0800)
committerRichard Henderson <rth@twiddle.net>
Sun, 4 Mar 2012 19:30:01 +0000 (11:30 -0800)
ChangeLog.alpha
sysdeps/unix/sysv/linux/alpha/bits/siginfo.h
sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h

index 32e8515..0b731b7 100644 (file)
@@ -1,3 +1,12 @@
+2012-03-04  Richard Henderson  <rth@twiddle.net>
+
+       * sysdeps/unix/sysv/linux/alpha/bits/siginfo.h: Don't name the
+       siginfo_t struct.  Add forward declaration of pthread_attr_t;
+       use it in sigevent.
+       * sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h
+       (pthread_attr_t): Add union tag to pthread_attr_t; only define
+       typedef if not already defined.
+
 2012-02-21  Richard Henderson  <rth@twiddle.net>
 
        * sysdeps/unix/sysv/linux/alpha/bits/epoll.h: New file.
index a2aacc0..8d0c716 100644 (file)
@@ -1,5 +1,5 @@
 /* siginfo_t, sigevent and constants.  Linux/Alpha version.
-   Copyright (C) 1997-2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1997-2012 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
@@ -42,7 +42,7 @@ typedef union sigval
 # define __SI_MAX_SIZE     128
 # define __SI_PAD_SIZE     ((__SI_MAX_SIZE / sizeof (int)) - 4)
 
-typedef struct siginfo
+typedef struct
   {
     int si_signo;              /* Signal number.  */
     int si_errno;              /* If non-zero, an errno value associated with
@@ -260,6 +260,12 @@ enum
 # define __SIGEV_MAX_SIZE      64
 # define __SIGEV_PAD_SIZE      ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
 
+/* Forward declaration.  */
+#ifndef __have_pthread_attr_t
+typedef union pthread_attr_t pthread_attr_t;
+# define __have_pthread_attr_t  1
+#endif
+
 typedef struct sigevent
   {
     sigval_t sigev_value;
@@ -277,7 +283,7 @@ typedef struct sigevent
        struct
          {
            void (*_function) (sigval_t);       /* Function to start.  */
-           void *_attribute;                   /* Really pthread_attr_t.  */
+           pthread_attr_t *_attribute;         /* Thread attributes.  */
          } _sigev_thread;
       } _sigev_un;
   } sigevent_t;
index 41c0be1..bea9955 100644 (file)
@@ -1,5 +1,5 @@
 /* Machine-specific pthread type layouts.  Alpha version.
-   Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2003-2012 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
 typedef unsigned long int pthread_t;
 
 
-typedef union
+union pthread_attr_t
 {
   char __size[__SIZEOF_PTHREAD_ATTR_T];
   long int __align;
-} pthread_attr_t;
-
+};
+#ifndef __have_pthread_attr_t
+typedef union pthread_attr_t pthread_attr_t;
+# define __have_pthread_attr_t 1
+#endif
 
 typedef struct __pthread_internal_list
 {