From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25787 invoked by alias); 17 Oct 2011 11:27:55 -0000 Received: (qmail 25779 invoked by uid 22791); 17 Oct 2011 11:27:54 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,TW_IB X-Spam-Check-By: sourceware.org Received: from einhorn.in-berlin.de (HELO einhorn.in-berlin.de) (192.109.42.8) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 17 Oct 2011 11:27:40 +0000 X-Envelope-From: doko@ubuntu.com X-Envelope-To: Received: from [192.168.42.217] (dslb-088-073-095-073.pools.arcor-ip.net [88.73.95.73]) (authenticated bits=0) by einhorn.in-berlin.de (8.13.6/8.13.6/Debian-1) with ESMTP id p9HBRc2i011857 for ; Mon, 17 Oct 2011 13:27:39 +0200 Message-ID: <4E9C1120.8090101@ubuntu.com> Date: Mon, 17 Oct 2011 11:27:00 -0000 From: Matthias Klose User-Agent: Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1 MIME-Version: 1.0 To: java@gcc.gnu.org Subject: Re: [patch] C6X unwinding/exception handling References: <201108041531.58790.paul@codesourcery.com> <4E92C9D0.10106@redhat.com> <4E92D68A.6080308@ubuntu.com> <201110101323.00966.paul@codesourcery.com> <4E9C0B03.7070002@ubuntu.com> <4E9C0FB5.1050409@redhat.com> In-Reply-To: <4E9C0FB5.1050409@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact java-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: java-owner@gcc.gnu.org X-SW-Source: 2011-10/txt/msg00008.txt.bz2 On 10/17/2011 01:21 PM, Andrew Haley wrote: > On 10/17/2011 12:01 PM, Matthias Klose wrote: >> On 10/10/2011 02:23 PM, Paul Brook wrote: >>>> Index: libjava/exception.cc >>>> =================================================================== >>>> --- libjava/exception.cc (revision 179739) >>>> +++ libjava/exception.cc (working copy) >>>> @@ -135,6 +135,7 @@ >>>> { >>>> _Unwind_Ptr Start; >>>> _Unwind_Ptr LPStart; >>>> + _Unwind_Ptr ttype_base; >>>> const unsigned char *TType; >>>> const unsigned char *action_table; >>>> unsigned char ttype_encoding; >>>> @@ -184,7 +185,7 @@ >>>> _Unwind_Ptr ptr; >>>> >>>> ptr = (_Unwind_Ptr) (info->TType - (i * 4)); >>>> - ptr = _Unwind_decode_target2(ptr); >>>> + ptr = _Unwind_decode_typeinfo_ptr (info->ttype_base, (_Unwind_Word) >>>> ptr); >>>> >>>> return reinterpret_cast(ptr); >>>> } >>>> @@ -325,6 +326,7 @@ >>>> >>>> // Parse the LSDA header. >>>> p = parse_lsda_header (context, language_specific_data, &info); >>>> + info.ttype_base = base_of_encoded_value (info.ttype_encoding, context); >>>> #ifdef HAVE_GETIPINFO >>>> ip = _Unwind_GetIPInfo (context, &ip_before_insn); >>>> #else >>> >>> No. The purpose of my patch was to remove the arm specific code. >>> >>> The only difference I can see in this bit of code is that libstdc++ uses >>> base_of_encoded_value/read_encoded_value_with_base whereas libjava uses >>> context/read_encoded_value. >>> >>> I expect you want something like the patch below (completely untested). >> >> I checked the attached patch, test results at >> http://gcc.gnu.org/ml/gcc-testresults/2011-10/msg01377.html >> >> which are the same as with my suggested patch. >> >> Ok for the trunk? > > OK. One question: where is_GLIBCXX_OVERRIDE_TTYPE_ENCODING defined? in libgcc/config/arm/unwind-arm.h