This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] Fix build without libexpat (Re: [PATCH 1/4] Merge remote thread listing methods)
- From: Pedro Alves <palves at redhat dot com>
- To: Jiong Wang <jiong dot wang at arm dot com>, "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>
- Date: Fri, 17 Oct 2014 11:17:32 +0100
- Subject: [PATCH] Fix build without libexpat (Re: [PATCH 1/4] Merge remote thread listing methods)
- Authentication-results: sourceware.org; auth=none
- References: <1412266896-28210-1-git-send-email-palves at redhat dot com> <1412266896-28210-2-git-send-email-palves at redhat dot com> <5440D9FB dot 8000509 at arm dot com>
Hi Jiong,
> looks like this change break arm native build on chrome book.
>
> clear_threads_listing_context only exist when HAVE_LIBEXPACT defined.
Thanks, fixed with the patch below. Though you should really link
with libexpat. gdb processes built-in xml files even when
native debugging.
----
>From 80134cf5b3ca1f75a96af1856fdaad29ad1f57aa Mon Sep 17 00:00:00 2001
From: Pedro Alves <palves@redhat.com>
Date: Fri, 17 Oct 2014 11:05:06 +0100
Subject: [PATCH] Fix build without libexpat
clear_threads_listing_context is used for thread listing methods other
than the xml based, but it's only defined when HAVE_LIBEXPAT is defined.
gdb/
2014-10-17 Pedro Alves <palves@redhat.com>
* remote.c (clear_threads_listing_context): Move higher up, out of
the HAVE_LIBEXPAT guard.
---
gdb/ChangeLog | 5 +++++
gdb/remote.c | 30 +++++++++++++++---------------
2 files changed, 20 insertions(+), 15 deletions(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 62d1d06..1ea76a5 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2014-10-17 Pedro Alves <palves@redhat.com>
+
+ * remote.c (clear_threads_listing_context): Move higher up, out of
+ the HAVE_LIBEXPAT guard.
+
2014-10-16 Tristan Gingold <gingold@adacore.com>
* i386-darwin-nat.c (i386_darwin_fetch_inferior_registers)
diff --git a/gdb/remote.c b/gdb/remote.c
index 98d3f2a..20f2988 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -2559,6 +2559,21 @@ struct threads_listing_context
VEC (thread_item_t) *items;
};
+/* Discard the contents of the constructed thread listing context. */
+
+static void
+clear_threads_listing_context (void *p)
+{
+ struct threads_listing_context *context = p;
+ int i;
+ struct thread_item *item;
+
+ for (i = 0; VEC_iterate (thread_item_t, context->items, i, item); ++i)
+ xfree (item->extra);
+
+ VEC_free (thread_item_t, context->items);
+}
+
static int
remote_newthread_step (threadref *ref, void *data)
{
@@ -2664,21 +2679,6 @@ const struct gdb_xml_element threads_elements[] = {
{ NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
};
-/* Discard the contents of the constructed thread info context. */
-
-static void
-clear_threads_listing_context (void *p)
-{
- struct threads_listing_context *context = p;
- int i;
- struct thread_item *item;
-
- for (i = 0; VEC_iterate (thread_item_t, context->items, i, item); ++i)
- xfree (item->extra);
-
- VEC_free (thread_item_t, context->items);
-}
-
#endif
/* List remote threads using qXfer:threads:read. */
--
1.9.3