From patchwork Thu Jul 15 17:19:58 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 58997 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 12580B6F11 for ; Fri, 16 Jul 2010 03:20:15 +1000 (EST) Received: (qmail 22893 invoked by alias); 15 Jul 2010 17:20:11 -0000 Received: (qmail 22879 invoked by uid 22791); 15 Jul 2010 17:20:10 -0000 X-SWARE-Spam-Status: No, hits=-5.2 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_HI, SPF_HELO_PASS, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 15 Jul 2010 17:20:01 +0000 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o6FHJxOT018936 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 15 Jul 2010 13:19:59 -0400 Received: from anchor.twiddle.home (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o6FHJw25009637; Thu, 15 Jul 2010 13:19:58 -0400 Message-ID: <4C3F433E.4050405@redhat.com> Date: Thu, 15 Jul 2010 10:19:58 -0700 From: Richard Henderson User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.10) Gecko/20100621 Fedora/3.0.5-1.fc13 Thunderbird/3.0.5 MIME-Version: 1.0 To: Aldy Hernandez , GCC Patches Subject: [trans-mem] Re: EH TM bug References: <20100715162802.GA16858@redhat.com> In-Reply-To: <20100715162802.GA16858@redhat.com> X-IsSubscribed: yes 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 [ TM+EH fails for i686-linux ] Wow, this is silly. When I converted to C++, I added -fno-exceptions to get better code in the library, since the library itself does not use exceptions. Except there are a few routines involved in the *user's* exception handling, and we need the unwind tables generated for that. Of course I did all the previous testing with x86_64-linux, which builds the tables by default. r~ * Makefile.am (AM_CXXFLAGS): Add -funwind-tables. * Makefile.in: Rebuild. diff --git a/libitm/Makefile.am b/libitm/Makefile.am index fef2a13..8ad4e5f 100644 --- a/libitm/Makefile.am +++ b/libitm/Makefile.am @@ -18,7 +18,8 @@ vpath % $(strip $(search_path)) AM_CPPFLAGS = $(addprefix -I, $(search_path)) AM_CFLAGS = $(XCFLAGS) -AM_CXXFLAGS = -std=gnu++0x -fno-exceptions -fno-rtti $(XCFLAGS) $(abi_version) +AM_CXXFLAGS = -std=gnu++0x -funwind-tables -fno-exceptions -fno-rtti \ + $(XCFLAGS) $(abi_version) AM_CCASFLAGS = $(XCFLAGS) AM_LDFLAGS = $(XLDFLAGS) $(SECTION_LDFLAGS) $(OPT_LDFLAGS)