From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 110551 invoked by alias); 16 Feb 2016 00:07:32 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 110526 invoked by uid 89); 16 Feb 2016 00:07:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=disp, sk:print_o, hongjiu.lu@intel.com, hongjiuluintelcom X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-qg0-f46.google.com Received: from mail-qg0-f46.google.com (HELO mail-qg0-f46.google.com) (209.85.192.46) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 16 Feb 2016 00:07:30 +0000 Received: by mail-qg0-f46.google.com with SMTP id b35so121767236qge.0; Mon, 15 Feb 2016 16:07:30 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=Sv1jQYwJoUcsF6cjBxgK1t5OMKr2s8T+FR7XLJ0n72g=; b=D7alKAxjfc7erkJvPcpH0B3Ak4c3kQjdaHf33G/xj4d6xkiJlW1TEZNOtj5dcLKML/ TCRLYSWWUdErXZ60RURSi23WaJGBnw95GIkvCrcJJiP5RoNpipSLWsyvV0wQb3YyWTTx B5irfW2vimVIVO8som2Dboz0yRLtwKMox+wkR0aWARUc9K0hsG4FvKh7HWBYPE6y2JGl kFo2rPaOXgYxPQNfYzyR34rvRcDjhgUhbzke7mjpFkHrenLk38INFyiWH/bRkHYpwtlO MsmYSuT+DmrCyyPlEe7FG6lGh+Zl4yKMzVpXvPOgpRL+fSBPSTsXI4nJ7lKajLu1hnVh Z1AA== X-Gm-Message-State: AG10YORcHK+kk7GAgirJlWjbUsafPFpVuTjudzHO273ODtDs0ujm5SUDTgumh3BOOP+cQ2jUgGP21r12jcvV6A== MIME-Version: 1.0 X-Received: by 10.141.1.87 with SMTP id c84mr18700687qhd.1.1455581248096; Mon, 15 Feb 2016 16:07:28 -0800 (PST) Received: by 10.55.19.233 with HTTP; Mon, 15 Feb 2016 16:07:27 -0800 (PST) In-Reply-To: <4D52E06F.1080603@vmware.com> References: <4D52DEAC.1020607@vmware.com> <4D52E06F.1080603@vmware.com> Date: Tue, 16 Feb 2016 00:07:00 -0000 Message-ID: Subject: Re: [RFA] fix for intel disassembly, truncated BFD_VMA From: "H.J. Lu" To: Binutils Cc: "gdb-patches@sourceware.org" Content-Type: multipart/mixed; boundary=001a11394c763c3492052bd7ebc1 X-IsSubscribed: yes X-SW-Source: 2016-02/txt/msg00475.txt.bz2 --001a11394c763c3492052bd7ebc1 Content-Type: text/plain; charset=UTF-8 Content-length: 2169 On Wed, Feb 9, 2011 at 10:43 AM, Michael Snyder wrote: > H.J. Lu wrote: >> >> On Wed, Feb 9, 2011 at 10:36 AM, Michael Snyder >> wrote: >>> >>> This expression needed parentheses. Without them, it was truncating the >>> target address of jumps and calls from BFD_VMA to 32-bits. >>> >>> Disassembly at high addresses is vastly improved. >>> >>> >>> 2011-02-09 Michael Snyder >>> >>> * i386-dis.c (OP_J): Parenthesize expression to prevent >>> truncated addresses. >>> (print_insn): Fix indentation off-by-one. >>> >>> Index: i386-dis.c >>> =================================================================== >>> RCS file: /cvs/src/src/opcodes/i386-dis.c,v >>> retrieving revision 1.257 >>> diff -u -p -u -p -r1.257 i386-dis.c >>> --- i386-dis.c 18 Jan 2011 17:08:13 -0000 1.257 >>> +++ i386-dis.c 9 Feb 2011 18:28:02 -0000 >>> @@ -1,6 +1,6 @@ >>> /* Print i386 instructions for GDB, the GNU debugger. >>> Copyright 1988, 1989, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, >>> - 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 >>> + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 >>> Free Software Foundation, Inc. >>> >>> This file is part of the GNU opcodes library. >>> @@ -11702,9 +11702,9 @@ print_insn (bfd_vma pc, disassemble_info >>> modrm.rm = *codep & 7; >>> } >>> >>> - need_vex = 0; >>> - need_vex_reg = 0; >>> - vex_w_done = 0; >>> + need_vex = 0; >>> + need_vex_reg = 0; >>> + vex_w_done = 0; >>> >>> if (dp->name == NULL && dp->op[0].bytemode == FLOATCODE) >>> { >>> @@ -13817,7 +13817,7 @@ OP_J (int bytemode, int sizeflag) >>> oappend (INTERNAL_DISASSEMBLER_ERROR); >>> return; >>> } >>> - disp = ((start_pc + codep - start_codep + disp) & mask) | segment; >>> + disp = ((start_pc + (codep - start_codep) + disp) & mask) | segment; >>> set_op (disp, 0); >>> print_operand_value (scratchbuf, 1, disp); >>> oappend (scratchbuf); >>> >>> >> >> OK. > > > Thanks, committed. I got a hit with a similar case. I checked this patch into trunk and 2.26 branch. -- H.J. --001a11394c763c3492052bd7ebc1 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Add-parentheses-to-prevent-truncated-addresses.patch" Content-Disposition: attachment; filename="0001-Add-parentheses-to-prevent-truncated-addresses.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ikongl320 Content-length: 2310 RnJvbSA4OWUxNzI1ZDM1ZTE5MGFiM2I3NDZmZjU0OTFiYzhiZDM1Mjg3Zjg0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiSC5KLiBMdSIgPGhq bC50b29sc0BnbWFpbC5jb20+CkRhdGU6IE1vbiwgMTUgRmViIDIwMTYgMTU6 NTg6NDIgLTA4MDAKU3ViamVjdDogW1BBVENIXSBBZGQgcGFyZW50aGVzZXMg dG8gcHJldmVudCB0cnVuY2F0ZWQgYWRkcmVzc2VzCgoJKiBpMzg2LWRpcy5j IChwcmludF9pbnNuKTogUGFyZW50aGVzaXplIGV4cHJlc3Npb24gdG8gcHJl dmVudAoJdHJ1bmNhdGVkIGFkZHJlc3Nlcy4KCShPUF9KKTogTGlrZXdpc2Uu Ci0tLQogb3Bjb2Rlcy9DaGFuZ2VMb2cgIHwgNiArKysrKysKIG9wY29kZXMv aTM4Ni1kaXMuYyB8IDQgKystLQogMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvb3Bjb2Rl cy9DaGFuZ2VMb2cgYi9vcGNvZGVzL0NoYW5nZUxvZwppbmRleCAyNGMxNjgw Li5lOWYxNTc4IDEwMDY0NAotLS0gYS9vcGNvZGVzL0NoYW5nZUxvZworKysg Yi9vcGNvZGVzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkgQEAKKzIwMTYtMDIt MTUgIEguSi4gTHUgIDxob25naml1Lmx1QGludGVsLmNvbT4KKworCSogaTM4 Ni1kaXMuYyAocHJpbnRfaW5zbik6IFBhcmVudGhlc2l6ZSBleHByZXNzaW9u IHRvIHByZXZlbnQKKwl0cnVuY2F0ZWQgYWRkcmVzc2VzLgorCShPUF9KKTog TGlrZXdpc2UuCisKIDIwMTYtMDItMTAgIENsYXVkaXUgWmlzc3VsZXNjdSAg PGNsYXppc3NAc3lub3BzeXMuY29tPgogCSAgICBKYW5layB2YW4gT2lyc2No b3QgIDxqdmFub2lyc0BzeW5vcHN5cy5jb20+CiAKZGlmZiAtLWdpdCBhL29w Y29kZXMvaTM4Ni1kaXMuYyBiL29wY29kZXMvaTM4Ni1kaXMuYwppbmRleCA1 ZjRhZWQ1Li5kZTA1MzRjIDEwMDY0NAotLS0gYS9vcGNvZGVzL2kzODYtZGlz LmMKKysrIGIvb3Bjb2Rlcy9pMzg2LWRpcy5jCkBAIC0xMzY0NCw3ICsxMzY0 NCw3IEBAIHByaW50X2luc24gKGJmZF92bWEgcGMsIGRpc2Fzc2VtYmxlX2lu Zm8gKmluZm8pCiAgICAgaWYgKG9wX2luZGV4W2ldICE9IC0xICYmIG9wX3Jp cHJlbFtpXSkKICAgICAgIHsKIAkoKmluZm8tPmZwcmludGZfZnVuYykgKGlu Zm8tPnN0cmVhbSwgIiAgICAgICAgIyAiKTsKLQkoKmluZm8tPnByaW50X2Fk ZHJlc3NfZnVuYykgKChiZmRfdm1hKSAoc3RhcnRfcGMgKyBjb2RlcCAtIHN0 YXJ0X2NvZGVwCisJKCppbmZvLT5wcmludF9hZGRyZXNzX2Z1bmMpICgoYmZk X3ZtYSkgKHN0YXJ0X3BjICsgKGNvZGVwIC0gc3RhcnRfY29kZXApCiAJCQkJ CQkrIG9wX2FkZHJlc3Nbb3BfaW5kZXhbaV1dKSwgaW5mbyk7CiAJYnJlYWs7 CiAgICAgICB9CkBAIC0xNjE1OCw3ICsxNjE1OCw3IEBAIE9QX0ogKGludCBi eXRlbW9kZSwgaW50IHNpemVmbGFnKQogCSAgICAgdGhlIGRpc3BsYWNlbWVu dCBpcyBhZGRlZCEgICovCiAJICBtYXNrID0gMHhmZmZmOwogCSAgaWYgKChw cmVmaXhlcyAmIFBSRUZJWF9EQVRBKSA9PSAwKQotCSAgICBzZWdtZW50ID0g KChzdGFydF9wYyArIGNvZGVwIC0gc3RhcnRfY29kZXApCisJICAgIHNlZ21l bnQgPSAoKHN0YXJ0X3BjICsgKGNvZGVwIC0gc3RhcnRfY29kZXApKQogCQkg ICAgICAgJiB+KChiZmRfdm1hKSAweGZmZmYpKTsKIAl9CiAgICAgICBpZiAo YWRkcmVzc19tb2RlICE9IG1vZGVfNjRiaXQKLS0gCjIuNS4wCgo= --001a11394c763c3492052bd7ebc1--