diff options
author | Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> | 2007-07-03 13:41:00 +0000 |
---|---|---|
committer | Rainer Orth <ro@gcc.gnu.org> | 2007-07-03 13:41:00 +0000 |
commit | b36e79e55092aa63f0d92c2d3748ee0daca25b30 (patch) | |
tree | 7153437e4ecdd43dc569a82f8f49c43b725e4e5b /gcc | |
parent | 78d3c323b910765310ff6795cc64aeeae190fc1e (diff) | |
download | gcc-b36e79e55092aa63f0d92c2d3748ee0daca25b30.zip gcc-b36e79e55092aa63f0d92c2d3748ee0daca25b30.tar.gz gcc-b36e79e55092aa63f0d92c2d3748ee0daca25b30.tar.bz2 |
re PR target/28307 (pthread functions in libgcc not weak any more on Tru64 UNIX)
PR target/28307
* gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
(__gthrw_pragma): Provide default definition.
(__gthrw2): Use it.
* gthr-posix.c (__gthrw_pragma): Define.
From-SVN: r126253
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/gthr-posix.c | 5 | ||||
-rw-r--r-- | gcc/gthr-posix.h | 8 |
3 files changed, 17 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d8ed672..2cbddc7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2007-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + PR target/28307 + * gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK] + (__gthrw_pragma): Provide default definition. + (__gthrw2): Use it. + * gthr-posix.c (__gthrw_pragma): Define. + 2007-07-03 Daniel Berlin <dberlin@dberlin.org> * tree-ssa-sccvn.c (set_ssa_val_to): Check for operand_equal_p diff --git a/gcc/gthr-posix.c b/gcc/gthr-posix.c index a8922c0..e2d731ae 100644 --- a/gcc/gthr-posix.c +++ b/gcc/gthr-posix.c @@ -1,6 +1,6 @@ /* POSIX threads dummy routines for systems without weak definitions. */ /* Compile this one with gcc. */ -/* Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. +/* Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc. This file is part of GCC. @@ -28,6 +28,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA #include "tconfig.h" #include "tm.h" +# define __gthrw_pragma(pragma) _Pragma (#pragma) /* Define so we provide weak definitions of functions used by libobjc only. */ #define _LIBOBJC_WEAK #include "gthr.h" @@ -75,7 +76,7 @@ pthread_create (pthread_t *thread ATTRIBUTE_UNUSED, } int -pthread_cancel(pthread_t thread ATTRIBUTE_UNUSED) +pthread_cancel (pthread_t thread ATTRIBUTE_UNUSED) { return 0; } diff --git a/gcc/gthr-posix.h b/gcc/gthr-posix.h index 837bc1a..47d38a3 100644 --- a/gcc/gthr-posix.h +++ b/gcc/gthr-posix.h @@ -1,6 +1,6 @@ /* Threads compatibility routines for libgcc2 and libobjc. */ /* Compile this one with gcc. */ -/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of GCC. @@ -59,8 +59,12 @@ typedef pthread_mutex_t __gthread_recursive_mutex_t; #endif #if SUPPORTS_WEAK && GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif # define __gthrw2(name,name2,type) \ - static __typeof(type) name __attribute__ ((__weakref__(#name2))); + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) # define __gthrw_(name) __gthrw_ ## name #else # define __gthrw2(name,name2,type) |