From patchwork Thu Oct 10 02:39:04 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Biesinger X-Patchwork-Id: 34895 Received: (qmail 34307 invoked by alias); 10 Oct 2019 02:44:43 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 34247 invoked by uid 89); 10 Oct 2019 02:44:36 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: mail-pl1-f195.google.com Received: from mail-pl1-f195.google.com (HELO mail-pl1-f195.google.com) (209.85.214.195) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 10 Oct 2019 02:44:34 +0000 Received: by mail-pl1-f195.google.com with SMTP id w8so2021106plq.5 for ; Wed, 09 Oct 2019 19:44:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=i4SUIEYE12eabPWPQfkP1oksa3C4HF6qIP0ui6o4Ib8=; b=IQleR0Iq+L5/SBQ7Wfi22hnRgJVbDn7r+Xapz2zHP7GIFr+NK/jBowt9rikF7VsuMF b/x6yW3ADzzpOuUGFC4b9+zfN1oQ2WfFG6Pu+hidATjyp4Dl7Id6GFz3WV+N05xk67Z8 60JLuhvYmO6nOCW0NCq12vPHOhGcXpCaH64Jc= Return-Path: Received: from cbiesinger.unitedwifi.com ([38.98.37.136]) by smtp.googlemail.com with ESMTPSA id k9sm4010942pfk.72.2019.10.09.19.42.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Oct 2019 19:44:32 -0700 (PDT) From: cbiesinger@chromium.org To: gdb-patches@sourceware.org Cc: Christian Biesinger Subject: [PATCH v2] Create xml-builtin.h to declare xml_builtins Date: Wed, 9 Oct 2019 21:39:04 -0500 Message-Id: <20191010023904.215164-1-cbiesinger@chromium.org> In-Reply-To: <877e5derqg.fsf@tromey.com> References: <877e5derqg.fsf@tromey.com> MIME-Version: 1.0 From: Christian Biesinger [Now updated to create a new header file xml-builtin.h] xml-builtin.c only has character arrays and no dependencies, so this creates a simple header file for that purpose so that gdbserver can include that instead of re-declaring xml_builtin. Despite the name, feature_to_c.sh is already specific to xml_builtins (it hardcodes the variable name), so making it always output the include for xml-builtin.h seems fine. gdb/ChangeLog: 2019-10-09 Christian Biesinger * Makefile.in: Add xml-builtin.h. * features/feature_to_c.sh: Add an include for xml-buoltin.h to ensure that the compiler checks that the types match. * xml-builtin.h: New file. * xml-support.c (fetch_xml_builtin): Add missing const. * xml-support.h: Remove declaration of xml_builtins. gdb/gdbserver/ChangeLog: 2019-10-09 Christian Biesinger * server.c: Include xml-builtin.h. (get_xml_features): Don't declare xml_builtins here. --- gdb/Makefile.in | 1 + gdb/features/feature_to_c.sh | 2 ++ gdb/gdbserver/server.c | 4 +++- gdb/xml-builtin.h | 28 ++++++++++++++++++++++++++++ gdb/xml-support.c | 3 ++- gdb/xml-support.h | 5 ----- 6 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 gdb/xml-builtin.h diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 36650ad555f..04a5cdbb3da 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -1426,6 +1426,7 @@ HFILES_NO_SRCDIR = \ x86-linux-nat.h \ x86-nat.h \ xcoffread.h \ + xml-builtin.h \ xml-support.h \ xml-syscall.h \ xml-tdesc.h \ diff --git a/gdb/features/feature_to_c.sh b/gdb/features/feature_to_c.sh index 2e7e0c72a82..ae83774fdf4 100755 --- a/gdb/features/feature_to_c.sh +++ b/gdb/features/feature_to_c.sh @@ -32,6 +32,8 @@ if test -e "$output"; then exit 1 fi +echo '#include "xml-builtin.h"' >> $output + for input; do arrayname=xml_feature_`echo $input | sed 's,.*/,,; s/[-.]/_/g'` diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c index 0bfff04fd76..25a2be86fb0 100644 --- a/gdb/gdbserver/server.c +++ b/gdb/gdbserver/server.c @@ -41,6 +41,9 @@ #include "gdbsupport/environ.h" #include "filenames.h" #include "gdbsupport/pathstuff.h" +#ifdef USE_XML +#include "xml-builtin.h" +#endif #include "gdbsupport/selftest.h" #include "gdbsupport/scope-exit.h" @@ -920,7 +923,6 @@ get_features_xml (const char *annex) #ifdef USE_XML { - extern const char *const xml_builtin[][2]; int i; /* Look for the annex. */ diff --git a/gdb/xml-builtin.h b/gdb/xml-builtin.h new file mode 100644 index 00000000000..972417df32e --- /dev/null +++ b/gdb/xml-builtin.h @@ -0,0 +1,28 @@ +/* Header file for builtin XML files. + + 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 . */ + +#ifndef XML_BUILTIN_H +#define XML_BUILTIN_H + +/* The text of compiled-in XML documents, from xml-builtin.c + (generated). */ + +extern const char *const xml_builtin[][2]; + +#endif /* XML_BUILTIN_H */ diff --git a/gdb/xml-support.c b/gdb/xml-support.c index eaf99efa6b9..915be76066d 100644 --- a/gdb/xml-support.c +++ b/gdb/xml-support.c @@ -19,6 +19,7 @@ #include "defs.h" #include "gdbcmd.h" +#include "xml-builtin.h" #include "xml-support.h" #include "gdbsupport/filestuff.h" #include "safe-ctype.h" @@ -919,7 +920,7 @@ xml_process_xincludes (std::string &result, const char * fetch_xml_builtin (const char *filename) { - const char *(*p)[2]; + const char *const (*p)[2]; for (p = xml_builtin; (*p)[0]; p++) if (strcmp ((*p)[0], filename) == 0) diff --git a/gdb/xml-support.h b/gdb/xml-support.h index 7ceb9385454..aaa829d5195 100644 --- a/gdb/xml-support.h +++ b/gdb/xml-support.h @@ -45,11 +45,6 @@ LONGEST xml_builtin_xfer_partial (const char *filename, gdb_byte *readbuf, const gdb_byte *writebuf, ULONGEST offset, LONGEST len); -/* The text of compiled-in XML documents, from xml-builtin.c - (generated). */ - -extern const char *xml_builtin[][2]; - /* Support for XInclude. */ /* Callback to fetch a new XML file, based on the provided HREF. */