From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31546 invoked by alias); 23 Mar 2011 18:04:55 -0000 Received: (qmail 31537 invoked by uid 22791); 23 Mar 2011 18:04:54 -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; Wed, 23 Mar 2011 18:04:42 +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.14.4/8.14.4) with ESMTP id p2NI4eBs004785 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 23 Mar 2011 14:04:40 -0400 Received: from tyan-ft48-01.lab.bos.redhat.com (tyan-ft48-01.lab.bos.redhat.com [10.16.42.4]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p2NI4ccf013538 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 23 Mar 2011 14:04:39 -0400 Received: from tyan-ft48-01.lab.bos.redhat.com (localhost.localdomain [127.0.0.1]) by tyan-ft48-01.lab.bos.redhat.com (8.14.4/8.14.4) with ESMTP id p2NI4cSw005263; Wed, 23 Mar 2011 19:04:38 +0100 Received: (from jakub@localhost) by tyan-ft48-01.lab.bos.redhat.com (8.14.4/8.14.4/Submit) id p2NI4bf5005261; Wed, 23 Mar 2011 19:04:37 +0100 Date: Wed, 23 Mar 2011 18:04:00 -0000 From: Jakub Jelinek To: Richard Henderson Cc: "H.J. Lu" , Ian Lance Taylor , Ulrich Weigand , Andrew Pinski , GCC Patches Subject: Re: PATCH: PR other/48007: Unwind library doesn't work with UNITS_PER_WORD > sizeof (void *) Message-ID: <20110323180437.GP18914@tyan-ft48-01.lab.bos.redhat.com> Reply-To: Jakub Jelinek References: <201103221930.p2MJUTrr032489@d06av02.portsmouth.uk.ibm.com> <4D8A32EB.6000105@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4D8A32EB.6000105@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) 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-03/txt/msg01529.txt.bz2 On Wed, Mar 23, 2011 at 10:50:35AM -0700, Richard Henderson wrote: > >> > >> Sure, that's easy. I think what you are really asking is: will there be > >> a case where we could call functions from one copy and then pass the > >> context to the functions from a different copy. I don't know the answer > >> to that, but it doesn't seem impossible. > > It really shouldn't be, but judging from the existance of _Unwind_IsExtendedContext > it appears that it really is. Which, frankly, I assume is some sort of strange > packaging problem between glibc and libgcc_s.so. > > Jakub, do you recall anything more specific about this? http://gcc.gnu.org/ml/gcc-patches/2006-12/msg01769.html has some info. > Ideally we'd remove the by_value array, but I guess that's now versioned > so it'll have to stay even though unused. > > Add a new > > _Unwind_Word data[DWARF_FRAME_REGISTERS+1]; > > at the end. Increment the context version number. If the version is For several targets that would grow the context significantly, do you think we really have to do that for all targets rather than just for the sizeof (_Unwind_Word) > sizeof (void *) ones? The accessors are wrapped in inline functions anyway. > sufficiently high, implement _Unwind_SetGRValue via > > context->data[index] = val; > context->reg[index] = &context->data[index]; > > and do not set by_value at all. Jakub