From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 99453 invoked by alias); 11 Jul 2019 14:35:17 -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 99444 invoked by uid 89); 11 Jul 2019 14:35:17 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-18.7 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_SHORT,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: simark.ca Received: from simark.ca (HELO simark.ca) (158.69.221.121) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 11 Jul 2019 14:35:07 +0000 Received: from [172.16.0.120] (192-222-181-218.qc.cable.ebox.net [192.222.181.218]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 047501E092; Thu, 11 Jul 2019 10:35:05 -0400 (EDT) Subject: Re: [PATCH v2 4/5] Arm: Use read_description funcs in gdbserver To: Alan Hayward , "gdb-patches@sourceware.org" Cc: nd References: <20190711134436.47896-1-alan.hayward@arm.com> <20190711134436.47896-5-alan.hayward@arm.com> From: Simon Marchi Message-ID: <91d8f80d-a24c-4a89-fe34-babff209d807@simark.ca> Date: Thu, 11 Jul 2019 14:35:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: <20190711134436.47896-5-alan.hayward@arm.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SW-Source: 2019-07/txt/msg00310.txt.bz2 > diff --git a/gdb/gdbserver/linux-aarch32-tdesc.c b/gdb/gdbserver/linux-aarch32-tdesc.c > new file mode 100644 > index 0000000000..3c26df1f96 > --- /dev/null > +++ b/gdb/gdbserver/linux-aarch32-tdesc.c > @@ -0,0 +1,46 @@ > +/* Copyright (C) 2019 Free Software Foundation, Inc. > + > + This file is part of GDB. > + > + This program is free software; you can redistribute it and/or modify > + it under the terms of the GNU General Public License as published by > + the Free Software Foundation; either version 3 of the License, or > + (at your option) any later version. > + > + This program is distributed in the hope that it will be useful, > + but WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + GNU General Public License for more details. > + > + You should have received a copy of the GNU General Public License > + along with this program. If not, see . */ > + > +#include "server.h" > +#include "tdesc.h" > +#include "arch/aarch32.h" > +#include > + > +static struct target_desc *tdesc_aarch32; > + > +/* See linux-aarch32-tdesc.h. */ > + > +const target_desc * > +aarch32_linux_read_description () > +{ > + if (tdesc_aarch32 == nullptr) > + { > + tdesc_aarch32 = aarch32_create_target_description (); > + > + static const char *expedite_regs[] = { "r11", "sp", "pc", 0 }; > + init_target_desc (tdesc_aarch32, expedite_regs); > + } > + return tdesc_aarch32; > +} > + > +/* See linux-aarch32-tdesc.h. */ > + > +bool > +is_aarch32_linux_description (const target_desc *tdesc) > +{ > + return tdesc != nullptr && tdesc == tdesc_aarch32; > +} If you don't expect tdesc to ever be nullptr, use gdb_assert. Simon