aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRainer Orth <ro@TechFak.Uni-Bielefeld.DE>2007-07-03 13:41:00 +0000
committerRainer Orth <ro@gcc.gnu.org>2007-07-03 13:41:00 +0000
commitb36e79e55092aa63f0d92c2d3748ee0daca25b30 (patch)
tree7153437e4ecdd43dc569a82f8f49c43b725e4e5b /gcc
parent78d3c323b910765310ff6795cc64aeeae190fc1e (diff)
downloadgcc-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/ChangeLog8
-rw-r--r--gcc/gthr-posix.c5
-rw-r--r--gcc/gthr-posix.h8
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)