From: Danny Smith Date: Thu, 16 Dec 2004 19:56:12 +0000 (+0000) Subject: re PR target/18997 (Segmentation Violation in pthread_getspecific) X-Git-Tag: releases/gcc-4.0.0~2109 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=59b1a766fb697329a64202089365375c042f9c40;p=thirdparty%2Fgcc.git re PR target/18997 (Segmentation Violation in pthread_getspecific) gcc PR target/18997 * config/i386/cygwin.h (GTHREAD_USE_WEAK): Define to 0. libstdc++-v3 PR target/18997 * config/os/newlib/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define to 0 for __CYGWIN__. From-SVN: r92281 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 24d534b4d0d4..c5426abd66c4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-12-16 Danny Smith + + PR target/18997 + * config/i386/cygwin.h (GTHREAD_USE_WEAK): Define to 0. + 2004-12-16 Richard Henderson Aldy Hernandez diff --git a/gcc/config/i386/cygwin.h b/gcc/config/i386/cygwin.h index def39f4d3f59..96b4692d8214 100644 --- a/gcc/config/i386/cygwin.h +++ b/gcc/config/i386/cygwin.h @@ -228,3 +228,7 @@ do \ } \ while (0) #endif + +/* Binutils does not handle weak symbols from dlls correctly. For now, + do not use them unnecessarily in gthr-posix.h. */ +#define GTHREAD_USE_WEAK 0 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 17a134f81acd..542a82f3137e 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2004-12-16 Danny Smith + + PR target/18997 + * config/os/newlib/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): + Define to 0 for __CYGWIN__. + 2004-12-16 Paolo Carlini * include/tr1/type_traits: Implement add_const, add_volatile, diff --git a/libstdc++-v3/config/os/newlib/os_defines.h b/libstdc++-v3/config/os/newlib/os_defines.h index 3b19787929f8..ff334610f226 100644 --- a/libstdc++-v3/config/os/newlib/os_defines.h +++ b/libstdc++-v3/config/os/newlib/os_defines.h @@ -33,4 +33,8 @@ // System-specific #define, typedefs, corrections, etc, go here. This // file will come before all others. +#ifdef __CYGWIN__ +#define _GLIBCXX_GTHREAD_USE_WEAK 0 +#endif + #endif