From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30109 invoked by alias); 10 Oct 2013 14:52:18 -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 30096 invoked by uid 89); 10 Oct 2013 14:52:18 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 10 Oct 2013 14:52:17 +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 r9AEqDVn019096 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 10 Oct 2013 10:52:14 -0400 Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id r9AEqBLK022950; Thu, 10 Oct 2013 10:52:12 -0400 Message-ID: <5256BF1B.9010202@redhat.com> Date: Thu, 10 Oct 2013 14:52:00 -0000 From: Pedro Alves User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 MIME-Version: 1.0 To: "Abid, Hafiz" CC: "gdb-patches@sourceware.org" , "Mirza, Taimoor" Subject: Re: [patch] Disassembly improvements References: <5256ACED.7040402@redhat.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-SW-Source: 2013-10/txt/msg00345.txt.bz2 On 10/10/2013 02:57 PM, Abid, Hafiz wrote: >> > >> > Hmm, this seems to miss making sure LEN doesn't read beyond the original >> > requested memory range. It'd be good to add that. > Changed to following line which should take care of this. > unsigned int length = min (len, info->buffer_length); But it seems to me that will just disable the optimization for buffer line > 1. LEN here I think will the disassembler considers to be the maximum length of an instruction for the arquitecture it is disassembling. We want to read _more_ than that from memory in one go, otherwise, we'll not be buffering anything. What we do not want, is for that over fetching to read beyond the range that was passed to gdb_disassembly. I think we'll need to derive from "struct disassemble_info", and add the original range to that new struct, or record that info directly in "struct disassemble_info", which is in include/dis-asm.h. -- Pedro Alves