From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2736 invoked by alias); 17 Oct 2011 11:01:57 -0000 Received: (qmail 2719 invoked by uid 22791); 17 Oct 2011 11:01:56 -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:01:41 +0000 X-Envelope-From: doko@ubuntu.com 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 p9HB1YVm010030; Mon, 17 Oct 2011 13:01:34 +0200 Message-ID: <4E9C0B03.7070002@ubuntu.com> Date: Mon, 17 Oct 2011 11:01: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: Paul Brook CC: Andrew Haley , gcc-patches@gcc.gnu.org, GCC Java , Nicola Pero 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> In-Reply-To: <201110101323.00966.paul@codesourcery.com> Content-Type: multipart/mixed; boundary="------------000209020602090409050409" 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/msg00006.txt.bz2 This is a multi-part message in MIME format. --------------000209020602090409050409 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-length: 1549 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? Matthias --------------000209020602090409050409 Content-Type: text/plain; name="exc.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="exc.diff" Content-length: 4165 bGliamF2YS8KMjAxMS0xMC0xNyAgUGF1bCBCcm9vayAgPHBhdWxAY29kZXNv dXJjZXJ5LmNvbT4KCgkqIGV4Y2VwdGlvbi5jYyAocGFyc2VfbHNkYV9oZWFk ZXIpOiBoYXJkY29kZSB0dHlwZV9lbmNvZGluZyBmb3Igb2xkZXIKCUFSTSBF QUJJIHRvb2xjaGFpbnMuCgkoZ2V0X3R0eXBlX2VudHJ5KSBSZW1vdmUgX19B Uk1fRUFCSV9VTldJTkRFUl9fIHZhcmlhbnQuCgpsaWJvYmpjLwoyMDExLTEw LTE3ICBQYXVsIEJyb29rICA8cGF1bEBjb2Rlc291cmNlcnkuY29tPgoJICAg IE1hdHRoaWFzIEtsb3NlICA8ZG9rb0B1YnVudHUuY29tPgoKCSogZXhjZXB0 aW9uLmMgKHBhcnNlX2xzZGFfaGVhZGVyKTogaGFyZGNvZGUgdHR5cGVfZW5j b2RpbmcgZm9yIG9sZGVyCglBUk0gRUFCSSB0b29sY2hhaW5zLgoJKGdldF90 dHlwZV9lbnRyeSkgUmVtb3ZlIF9fQVJNX0VBQklfVU5XSU5ERVJfXyB2YXJp YW50LgoKSW5kZXg6IGxpYmphdmEvZXhjZXB0aW9uLmNjCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIGxpYmphdmEvZXhjZXB0aW9uLmNjCShyZXZpc2lv biAxODAwODYpCisrKyBsaWJqYXZhL2V4Y2VwdGlvbi5jYwkod29ya2luZyBj b3B5KQpAQCAtMTYxLDYgKzE2MSwxMSBAQAogICBpbmZvLT50dHlwZV9lbmNv ZGluZyA9ICpwKys7CiAgIGlmIChpbmZvLT50dHlwZV9lbmNvZGluZyAhPSBE V19FSF9QRV9vbWl0KQogICAgIHsKKyNpZiBfR0xJQkNYWF9PVkVSUklERV9U VFlQRV9FTkNPRElORworICAgICAgLyogT2xkZXIgQVJNIEVBQkkgdG9vbGNo YWlucyBzZXQgdGhpcyB2YWx1ZSBpbmNvcnJlY3RseSwgc28gdXNlIGEKKwkg aGFyZGNvZGVkIE9TLXNwZWNpZmljIGZvcm1hdC4gICovCisgIGluZm8tPnR0 eXBlX2VuY29kaW5nID0gX0dMSUJDWFhfT1ZFUlJJREVfVFRZUEVfRU5DT0RJ Tkc7CisjZW5kaWYKICAgICAgIHAgPSByZWFkX3VsZWIxMjggKHAsICZ0bXAp OwogICAgICAgaW5mby0+VFR5cGUgPSBwICsgdG1wOwogICAgIH0KQEAgLTE3 NiwyMiArMTgxLDcgQEAKICAgcmV0dXJuIHA7CiB9CiAKLSNpZmRlZiBfX0FS TV9FQUJJX1VOV0lOREVSX18KLQogc3RhdGljIHZvaWQgKioKLWdldF90dHlw ZV9lbnRyeShfVW53aW5kX0NvbnRleHQgKiwgbHNkYV9oZWFkZXJfaW5mbyog aW5mbywgX3VsZWIxMjhfdCBpKQotewotICBfVW53aW5kX1B0ciBwdHI7Ci0K LSAgcHRyID0gKF9VbndpbmRfUHRyKSAoaW5mby0+VFR5cGUgLSAoaSAqIDQp KTsKLSAgcHRyID0gX1Vud2luZF9kZWNvZGVfdGFyZ2V0MihwdHIpOwotICAK LSAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCAqKj4ocHRyKTsKLX0K LQotI2Vsc2UKLQotc3RhdGljIHZvaWQgKioKIGdldF90dHlwZV9lbnRyeSAo X1Vud2luZF9Db250ZXh0ICpjb250ZXh0LCBsc2RhX2hlYWRlcl9pbmZvICpp bmZvLCBsb25nIGkpCiB7CiAgIF9VbndpbmRfUHRyIHB0cjsKQEAgLTIwMiw4 ICsxOTIsNiBAQAogICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkICoq PihwdHIpOwogfQogCi0jZW5kaWYKLQogLy8gVXNpbmcgYSBkaWZmZXJlbnQg cGVyc29uYWxpdHkgZnVuY3Rpb24gbmFtZSBjYXVzZXMgbGluayBmYWlsdXJl cwogLy8gd2hlbiB0cnlpbmcgdG8gbWl4IGNvZGUgdXNpbmcgZGlmZmVyZW50 IGV4Y2VwdGlvbiBoYW5kbGluZyBtb2RlbHMuCiAjaWZkZWYgU0pMSl9FWENF UFRJT05TCgpJbmRleDogbGlib2JqYy9leGNlcHRpb24uYwo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBsaWJvYmpjL2V4Y2VwdGlvbi5jCShyZXZpc2lv biAxODAwODYpCisrKyBsaWJvYmpjL2V4Y2VwdGlvbi5jCSh3b3JraW5nIGNv cHkpCkBAIC0xNTksNiArMTU5LDExIEBACiAgIGluZm8tPnR0eXBlX2VuY29k aW5nID0gKnArKzsKICAgaWYgKGluZm8tPnR0eXBlX2VuY29kaW5nICE9IERX X0VIX1BFX29taXQpCiAgICAgeworI2lmIF9HTElCQ1hYX09WRVJSSURFX1RU WVBFX0VOQ09ESU5HCisgICAgICAvKiBPbGRlciBBUk0gRUFCSSB0b29sY2hh aW5zIHNldCB0aGlzIHZhbHVlIGluY29ycmVjdGx5LCBzbyB1c2UgYQorCSBo YXJkY29kZWQgT1Mtc3BlY2lmaWMgZm9ybWF0LiAgKi8KKyAgICAgIGluZm8t PnR0eXBlX2VuY29kaW5nID0gX0dMSUJDWFhfT1ZFUlJJREVfVFRZUEVfRU5D T0RJTkc7CisjZW5kaWYKICAgICAgIHAgPSByZWFkX3VsZWIxMjggKHAsICZ0 bXApOwogICAgICAgaW5mby0+VFR5cGUgPSBwICsgdG1wOwogICAgIH0KQEAg LTE3NCwyNyArMTc5LDcgQEAKICAgcmV0dXJuIHA7CiB9CiAKLSNpZmRlZiBf X0FSTV9FQUJJX1VOV0lOREVSX18KLQogc3RhdGljIENsYXNzCi1nZXRfdHR5 cGVfZW50cnkgKHN0cnVjdCBsc2RhX2hlYWRlcl9pbmZvICppbmZvLCBfdWxl YjEyOF90IGkpCi17Ci0gIF9VbndpbmRfUHRyIHB0cjsKLSAgCi0gIHB0ciA9 IChfVW53aW5kX1B0cikgKGluZm8tPlRUeXBlIC0gKGkgKiA0KSk7Ci0gIHB0 ciA9IF9VbndpbmRfZGVjb2RlX3RhcmdldDIgKHB0cik7Ci0KLSAgLyogTlVM TCBwdHIgbWVhbnMgY2F0Y2gtYWxsLiAgTm90ZSB0aGF0IGlmIHRoZSBjbGFz cyBpcyBub3QgZm91bmQsCi0gICAgIHRoaXMgd2lsbCBhYm9ydCB0aGUgcHJv Z3JhbS4gICovCi0gIGlmIChwdHIpCi0gICAgcmV0dXJuIG9iamNfZ2V0UmVx dWlyZWRDbGFzcyAoKGNvbnN0IGNoYXIgKikgcHRyKTsKLSAgZWxzZQotICAg IHJldHVybiAwOwotfQotCi0jZWxzZQotCi1zdGF0aWMgQ2xhc3MKIGdldF90 dHlwZV9lbnRyeSAoc3RydWN0IGxzZGFfaGVhZGVyX2luZm8gKmluZm8sIF9V bndpbmRfV29yZCBpKQogewogICBfVW53aW5kX1B0ciBwdHI7CkBAIC0yMTEs OCArMTk2LDYgQEAKICAgICByZXR1cm4gMDsKIH0KIAotI2VuZGlmCi0KIC8q IFVzaW5nIGEgZGlmZmVyZW50IHBlcnNvbmFsaXR5IGZ1bmN0aW9uIG5hbWUg Y2F1c2VzIGxpbmsgZmFpbHVyZXMKICAgIHdoZW4gdHJ5aW5nIHRvIG1peCBj b2RlIHVzaW5nIGRpZmZlcmVudCBleGNlcHRpb24gaGFuZGxpbmcKICAgIG1v ZGVscy4gICovCg== --------------000209020602090409050409--