From 87df4a4b09abdb1b1af41c9c398b86ecdedcb635 Mon Sep 17 00:00:00 2001 From: Chris Metcalf Date: Fri, 11 May 2012 14:42:46 -0400 Subject: [PATCH] tile: update pthread_attr_t and struct siginfo names This adds a tag to the pthread_attr_t underlying type so we can forward-declare it, and removes the siginfo_t type, to match changes in the main tree. --- ChangeLog.tile | 8 ++++++++ sysdeps/unix/sysv/linux/tile/bits/siginfo.h | 12 +++++++++--- sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h | 11 +++++++---- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/ChangeLog.tile b/ChangeLog.tile index a8b2458..4846802 100644 --- a/ChangeLog.tile +++ b/ChangeLog.tile @@ -1,5 +1,13 @@ 2012-05-12 Chris Metcalf + * sysdeps/unix/sysv/linux/tile/bits/siginfo.h: Don't name + siginfo_t struct. Add forward declaration of pthread_attr_t and + use it in sigevent. + * sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h: Name + pthread_attr_t union. + +2012-05-12 Chris Metcalf + * sysdeps/tile/crti.S: New file, based on compiler output for sysdeps/generic/initfini.c. * sysdeps/tile/crtn.S: Likewise. diff --git a/sysdeps/unix/sysv/linux/tile/bits/siginfo.h b/sysdeps/unix/sysv/linux/tile/bits/siginfo.h index aeecd19..44ffcc0 100644 --- a/sysdeps/unix/sysv/linux/tile/bits/siginfo.h +++ b/sysdeps/unix/sysv/linux/tile/bits/siginfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Chris Metcalf , 2011. @@ -47,7 +47,7 @@ typedef union sigval # define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 3) # endif -typedef struct siginfo +typedef struct { int si_signo; /* Signal number. */ int si_errno; /* If non-zero, an errno value associated with @@ -275,6 +275,12 @@ enum # define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3) # endif +/* 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; @@ -292,7 +298,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; diff --git a/sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h index d840ce5..ac51e3b 100644 --- a/sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h +++ b/sysdeps/unix/sysv/linux/tile/nptl/bits/pthreadtypes.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2011 Free Software Foundation, Inc. +/* Copyright (C) 2011-2012 Free Software Foundation, Inc. This file is part of the GNU C Library. Based on work contributed by Ulrich Drepper , 2002. Contributed by Chris Metcalf , 2011. @@ -50,12 +50,15 @@ 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 #if __WORDSIZE == 64 typedef struct __pthread_internal_list -- 2.7.4