From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1967 invoked by alias); 9 Nov 2011 17:01:52 -0000 Received: (qmail 1958 invoked by uid 22791); 9 Nov 2011 17:01:51 -0000 X-SWARE-Spam-Status: No, hits=-7.0 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,SPF_HELO_PASS 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; Wed, 09 Nov 2011 17:01:33 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id pA9H1RoU009736 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 9 Nov 2011 12:01:28 -0500 Received: from anchor.twiddle.net (vpn-225-179.phx2.redhat.com [10.3.225.179]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id pA9H1RsJ027157; Wed, 9 Nov 2011 12:01:27 -0500 Message-ID: <4EBAB1E6.5070602@redhat.com> Date: Wed, 09 Nov 2011 17:14:00 -0000 From: Richard Henderson User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:7.0) Gecko/20110927 Thunderbird/7.0 MIME-Version: 1.0 To: Iain Sandoe CC: gcc-patches Patches , DJ Delorie , Alexandre Oliva Subject: Re: Disable libitm if unsupported References: <4EB959F0.60301@redhat.com> <201111081726.24103.pedro@codesourcery.com> <4EB96781.4030409@redhat.com> <201111081756.04563.pedro@codesourcery.com> <4EB97355.70704@redhat.com> <4EB99F2A.9020601@redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-11/txt/msg01318.txt.bz2 On 11/09/2011 08:14 AM, Iain Sandoe wrote: > On i686-darwin9 it fails with "target only supports weak alias" > (I need to understand better where that comes from - but the machine is tied up right now). This is fixed. I removed the alias in favor of a plain function for portability. I also added PR 51065 to track the automatic optimization possibility. > On x86_64-darwin10 it fails to build sjlj.S because that file makes > use of assembler constructs not available on the system as (I think > Rainer perhaps already observed this for some solaris versions). Testing a fix for the cfi pseudos now. That won't totally fix darwin, because there are also elf-specific pseudos as well (e.g. ".type"). I'll crib a patch together for that from cross-compiled examples for you to test later. > I had a quick look at config/x86/target.h and observe that the jmpbuf > layout in that header is different from the system definition... Irrelevant. It's a local jmpbuf for the local definition in sjlj.S. Which is Special because we're actually recording the state for an outer frame. One can NOT use the system setjmp/longjmp to implement libitm. > Index: libitm/configure.tgt > =================================================================== > --- libitm/configure.tgt (revision 181206) > +++ libitm/configure.tgt (working copy) > @@ -93,10 +93,14 @@ case "${target}" in > *-*-gnu* | *-*-k*bsd*-gnu \ > | *-*-netbsd* | *-*-freebsd* | *-*-openbsd* \ > | *-*-solaris2* | *-*-sysv4* | *-*-irix6* | *-*-osf* | *-*-hpux11* \ > - | *-*-darwin* | *-*-aix*) > + | *-*-aix*) > # POSIX system. The OS is supported. > ;; > > + *-*-darwin*) # POSIX, but needs some work. > + UNSUPPORTED=1 > + ;; > + > *) # Non-POSIX, or embedded system > UNSUPPORTED=1 If you want to commit that right away, that's fine by me. r~