From: Rainer Orth Date: Tue, 3 Jul 2007 13:45:21 +0000 (+0000) Subject: re PR target/28307 (pthread functions in libgcc not weak any more on Tru64 UNIX) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1c56595e9633b96975f94933441af23bf1716297;p=thirdparty%2Fgcc.git 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: r126255 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 713ae732a8cd..8cab7064dc7d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2007-07-03 Rainer Orth + + 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-06-30 Alexandre Oliva * dwarf2out.c (dwarf2out_finish): Accept namespaces as context of diff --git a/gcc/gthr-posix.c b/gcc/gthr-posix.c index a8922c0c16bb..e2d731ae4077 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 5b295197c423..a092c4b94637 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) \ - extern __typeof(type) name __attribute__ ((__weakref__(#name2))); + extern __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) # define __gthrw_(name) __gthrw_ ## name #else # define __gthrw2(name,name2,type)