From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1173 invoked by alias); 27 Jun 2011 14:58:40 -0000 Received: (qmail 1162 invoked by uid 22791); 27 Jun 2011 14:58:38 -0000 X-SWARE-Spam-Status: No, hits=-6.4 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; Mon, 27 Jun 2011 14:58:18 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p5REwH2P000851 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 27 Jun 2011 10:58:17 -0400 Received: from [127.0.0.1] (ovpn-113-33.phx2.redhat.com [10.3.113.33]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p5REwGIl025147; Mon, 27 Jun 2011 10:58:17 -0400 Message-ID: <4E089A88.60401@redhat.com> Date: Mon, 27 Jun 2011 15:16:00 -0000 From: Jason Merrill User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc14 Lightning/1.0b2 Thunderbird/3.1.10 MIME-Version: 1.0 To: "H.J. Lu" CC: gcc-patches@gcc.gnu.org, Richard Henderson , Jakub Jelinek Subject: Re: PATCH [8/n]: Prepare x32: PR other/48007: Unwind library doesn't work with UNITS_PER_WORD > sizeof (void *) References: <20110625161357.GA5401@intel.com> <4E078E58.20903@redhat.com> <4E07A879.70509@redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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-06/txt/msg01999.txt.bz2 On 06/26/2011 05:58 PM, H.J. Lu wrote: > The current unwind library scheme provides only one unwind > context and is backward compatible with multiple different unwind > contexts from multiple unwind libraries: > > http://gcc.gnu.org/ml/gcc-patches/2006-12/msg01769.html > > My patch fixes UNITS_PER_WORD > sizeof (void *) and > enforces single unwind context when backward compatibility > isn't needed. OK, there seem to be two things going on in this patch: 1) Handle registers larger than pointers. 2) Require that all code share a single copy of the unwinder. For #2, how are you avoiding the issues Jakub describes in that message? Isn't his scenario 2 still possible? Are you deciding that it's better to abort at run-time in that case? It seems to me that for targets newer than Jakub's patch we can hard-wire _Unwind_IsExtendedContext to true, but making further assumptions would be a mistake. Then, if we're still trying to handle versioning, I think your earlier patch for #1 (r170716) that just changes the type of the reg array is a better way to go. But that change should be dependent on a target macro to avoid ABI changes for existing targets. Jason