From patchwork Tue Jun 19 07:42:35 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Jonathan Wakely X-Patchwork-Id: 165691 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 594F7B7010 for ; Tue, 19 Jun 2012 17:43:14 +1000 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1340696595; h=Comment: DomainKey-Signature:Received:Received:Received:Received: MIME-Version:Received:Received:In-Reply-To:References:Date: Message-ID:Subject:From:To:Content-Type:Mailing-List:Precedence: List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender: Delivered-To; bh=s7eQFXMl7Ome7xJHdIXJ+I+jQ0A=; b=Rw/1cLPS+MwezJs AQtA/AFoWddPha41zs5qI1+dluPJU91dg0auxYAWrMIXe57FO0cG5hyCUwUtruJq CAaO05azLbxRhpWAU3J6WmCowte2SaFxNqxCa5MBhB5c09Fdyhj7WFn9WWZ1gXw6 0KGAjjP3XZc/N8DZe5AxvP7aCkDc= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:MIME-Version:Received:Received:In-Reply-To:References:Date:Message-ID:Subject:From:To:Content-Type:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=B9lQYBrHEvK43m6E2DDXmVyIBPWz9uCOkEkCMSYQ7e4G+Wk4EFhEV0z9VnZHa6 YN4zpBys5tp3ttvVf5jTJHNqpCzQ5DV/wB+Kwfw2eRH+LZlx2PPt7zUPNc7ZGwZv Ad65rVz5H9lFV1+OWWkrQ06Fx1GoFjjeclIZOhb2t6aQ8=; Received: (qmail 4786 invoked by alias); 19 Jun 2012 07:42:57 -0000 Received: (qmail 4652 invoked by uid 22791); 19 Jun 2012 07:42:55 -0000 X-SWARE-Spam-Status: No, hits=-5.1 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, KHOP_RCVD_TRUST, KHOP_THREADED, RCVD_IN_DNSWL_LOW, RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-lb0-f175.google.com (HELO mail-lb0-f175.google.com) (209.85.217.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 19 Jun 2012 07:42:36 +0000 Received: by lbol5 with SMTP id l5so5803367lbo.20 for ; Tue, 19 Jun 2012 00:42:35 -0700 (PDT) MIME-Version: 1.0 Received: by 10.112.36.132 with SMTP id q4mr7731571lbj.63.1340091755033; Tue, 19 Jun 2012 00:42:35 -0700 (PDT) Received: by 10.112.48.6 with HTTP; Tue, 19 Jun 2012 00:42:35 -0700 (PDT) In-Reply-To: References: Date: Tue, 19 Jun 2012 08:42:35 +0100 Message-ID: Subject: Re: [v3] PR 53270 fix hppa-linux bootstrap regression From: Jonathan Wakely To: "libstdc++" , gcc-patches Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org On 14 June 2012 23:23, Jonathan Wakely wrote: > > For 4.6.4 and 4.7.2 I plan to make a less intrusive change, #undef'ing > the __GTHREAD_MUTEX_INIT, _GTHREAD_RECURSIVE_MUTEX_INIT and > __GTHREAD_COND_INIT macros on hppa-linux in C++11 mode, so that the > init functions are used instead.  This fixes the bootstrap regression > on hppa-linux without affecting other targets. Here's the simpler patch I'm committing to the 4.7 and 4.6 branches. PR libstdc++/53270 * config/os/gnu-linux/os_defines.h: Disable static initializer macros for gthreads types in C++11 mode. Tested hppa-linux. commit 82976f5a0e4a69d247bded9d8bae99a633360f20 Author: Jonathan Wakely Date: Tue Jun 19 01:07:54 2012 +0100 PR libstdc++/53270 * config/os/gnu-linux/os_defines.h: Disable static initializer macros for gthreads types in C++11 mode. diff --git a/libstdc++-v3/config/os/gnu-linux/os_defines.h b/libstdc++-v3/config/os/gnu-linux/os_defines.h index c4aa305..f41160f 100644 --- a/libstdc++-v3/config/os/gnu-linux/os_defines.h +++ b/libstdc++-v3/config/os/gnu-linux/os_defines.h @@ -46,4 +46,10 @@ # undef _GLIBCXX_HAVE_GETS #endif +#if defined(__hppa__) && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define _GTHREAD_USE_MUTEX_INIT_FUNC +# define _GTHREAD_USE_RECURSIVE_MUTEX_INIT_FUNC +# define _GTHREAD_USE_COND_INIT_FUNC +#endif + #endif