From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 86171 invoked by alias); 8 Feb 2017 17:10:13 -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 86157 invoked by uid 89); 8 Feb 2017 17:10:12 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.5 required=5.0 tests=BAYES_40,FREEMAIL_FROM,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=no version=3.3.2 spammy=regnum, register_status, sk:get_reg, Hx-languages-length:1521 X-HELO: mail-wr0-f170.google.com Received: from mail-wr0-f170.google.com (HELO mail-wr0-f170.google.com) (209.85.128.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 08 Feb 2017 17:10:02 +0000 Received: by mail-wr0-f170.google.com with SMTP id 89so64206345wrr.2 for ; Wed, 08 Feb 2017 09:10:02 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:references :user-agent:date:message-id:mime-version:content-transfer-encoding; bh=+d3r6AOQ+LNizrVhRIrWCmOa5RM9IIJY60VEdg/mKPg=; b=kRwcaeWaYvMDuFW/QxoOQnAoZ7sQoLcVd7n5CuaSwkV4RPigS7to6pqwCjVn1F3mZh hrUTCBPpTLsLLAXHZVp/17p6ZN5dkBUjY4F5+hpvqmhGllmp7x+FS8Sk930cWhEs0AYx Aj5sjUOhjAdXrD/R0Mxd8BwBilg80vFa1hdUmVH9iciCzr7qgojw6ii0ITDOT9tjqnMh +O3jlows/3+KyF6bDNyUARctL0mMpTdoYVHw5pUNofp2kbSBYevBDTnSuGwgx6k0p66U aLfNa9WacdBoqvCe/5C9w09AGlerxDzILISADSX3E7TpM/6bkcs/sGLPTfaLiQM28BfS Vj8w== X-Gm-Message-State: AIkVDXKGTX1j5dJPUyVtIlPHQZdGrvpfv3n7p7idRWUhZAR1Jc91TcPE+To66NjuVtkd+A== X-Received: by 10.223.170.154 with SMTP id h26mr19490368wrc.29.1486573800825; Wed, 08 Feb 2017 09:10:00 -0800 (PST) Received: from E107787-LIN ([194.214.185.158]) by smtp.gmail.com with ESMTPSA id o143sm4375169wmd.3.2017.02.08.09.09.59 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Wed, 08 Feb 2017 09:10:00 -0800 (PST) From: Yao Qi To: Alan Hayward Cc: Pedro Alves , Joel Brobecker , "gdb-patches\@sourceware.org" , Subject: Re: [PATCH] Removal of uses of MAX_REGISTER_SIZE In-Reply-To: <5F3D30AE-9A53-493A-B6DC-DF594C2FAB18@arm.com> (Alan Hayward's message of "Tue, 7 Feb 2017 16:33:19 +0000") References: <45e3a5e1-a9aa-1bc0-5d08-526b89fc458e@redhat.com> <20170201124123.GA27498@E107787-LIN> <20170202094012.dge4r6rsl2skdrii@adacore.com> <20170203102819.GA11916@E107787-LIN> <25716edf-096e-20c5-4170-fb8ca04d897b@redhat.com> <0C6A0D51-4C49-4400-8C46-E77DD512DF56@arm.com> <20170203165022.GB11916@E107787-LIN> <1E0030CE-FB37-4821-AA53-9C6D1CC285C9@arm.com> <20170206152635.GE11916@E107787-LIN> <5F3D30AE-9A53-493A-B6DC-DF594C2FAB18@arm.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Date: Wed, 08 Feb 2017 17:10:00 -0000 Message-ID: <8660kkpq1l.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2017-02/txt/msg00195.txt.bz2 Alan Hayward writes: > @@ -1135,8 +1135,8 @@ register_changed_p (int regnum, struct regcache *pr= ev_regs, > struct regcache *this_regs) > { > struct gdbarch *gdbarch =3D get_regcache_arch (this_regs); > - gdb_byte prev_buffer[MAX_REGISTER_SIZE]; > - gdb_byte this_buffer[MAX_REGISTER_SIZE]; > + std::vector prev_buffer (register_size (gdbarch, regnum)); > + std::vector this_buffer (register_size (gdbarch, regnum)); > enum register_status prev_status; > enum register_status this_status; > This function should be moved to regcache.c, because it is about comparing bytes of a certain register in both regcaches. Then, wen can compare raw registers from register_buffer, and pseudo registers from the values. > @@ -1146,13 +1146,13 @@ register_changed_p (int regnum, struct regcache *= prev_regs, > return 1; > > /* Get register contents and compare. */ > - prev_status =3D regcache_cooked_read (prev_regs, regnum, prev_buffer); > - this_status =3D regcache_cooked_read (this_regs, regnum, this_buffer); > + prev_status =3D regcache_cooked_read (prev_regs, regnum, prev_buffer.d= ata ()); > + this_status =3D regcache_cooked_read (this_regs, regnum, this_buffer.d= ata ()); > > if (this_status !=3D prev_status) > return 1; > else if (this_status =3D=3D REG_VALID) > - return memcmp (prev_buffer, this_buffer, > + return memcmp (prev_buffer.data (), this_buffer.data (), > register_size (gdbarch, regnum)) !=3D 0; > else > return 0; --=20 Yao (=E9=BD=90=E5=B0=A7)