summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Biesinger <cbiesinger@google.com>2019-10-09 20:08:13 -0500
committerChristian Biesinger <cbiesinger@google.com>2019-10-16 18:19:14 +0200
commitfec4e896d6834bc6d23b9d666910dce43f2a2184 (patch)
tree59fd7ce6b63f3402f7a230d681240766a5a61586
parentcbbbc402e059ee345cb781d3ceb757ae1cc679ee (diff)
downloadbinutils-gdb-fec4e896d6834bc6d23b9d666910dce43f2a2184.tar.gz
Create xml-builtin.h to declare xml_builtins
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-16 Christian Biesinger <cbiesinger@google.com> * Makefile.in: Add xml-builtin.h. * features/feature_to_c.sh: Add an include for xml-builtin.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-16 Christian Biesinger <cbiesinger@google.com> * server.c: Include xml-builtin.h. (get_xml_features): Don't declare xml_builtins here. Change-Id: I806ef0851c43ead90b545a11794e41f5e5178436
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/Makefile.in1
-rwxr-xr-xgdb/features/feature_to_c.sh2
-rw-r--r--gdb/gdbserver/ChangeLog5
-rw-r--r--gdb/gdbserver/server.c4
-rw-r--r--gdb/xml-builtin.h28
-rw-r--r--gdb/xml-support.c3
-rw-r--r--gdb/xml-support.h5
8 files changed, 50 insertions, 7 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 8748257e015..e79f4492310 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,12 @@
+2019-10-16 Christian Biesinger <cbiesinger@google.com>
+
+ * Makefile.in: Add xml-builtin.h.
+ * features/feature_to_c.sh: Add an include for xml-builtin.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.
+
2019-10-16 Tom de Vries <tdevries@suse.de>
PR tdep/25096
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index af4b14d6e6c..8fec099a1b4 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -1425,6 +1425,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/ChangeLog b/gdb/gdbserver/ChangeLog
index 801a66c5635..b2213cffcfb 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,8 @@
+2019-10-16 Christian Biesinger <cbiesinger@google.com>
+
+ * server.c: Include xml-builtin.h.
+ (get_xml_features): Don't declare xml_builtins here.
+
2019-10-15 Andrew Burgess <andrew.burgess@embecosm.com>
* Makefile.in: Remove references to vec-ipa.o.
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 <http://www.gnu.org/licenses/>. */
+
+#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 5012767568f..59b4467d082 100644
--- a/gdb/xml-support.h
+++ b/gdb/xml-support.h
@@ -44,11 +44,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. */