Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Gary Benson <gbenson@redhat.com>
To: gdb-patches@sourceware.org
Subject: [PATCH 12/15] Add target/symbol.h, update users
Date: Wed, 09 Jul 2014 11:25:00 -0000	[thread overview]
Message-ID: <1404902255-11101-13-git-send-email-gbenson@redhat.com> (raw)
In-Reply-To: <1404902255-11101-1-git-send-email-gbenson@redhat.com>

This adds a new "target/symbol.h" file, that declares a symbol-lookup
function used by code in common.  It follows the usual pattern, where
clients of "common" have their own definitions of this function.  This
simplifies agent.c a bit.

gdb/
2014-07-09  Tom Tromey  <tromey@redhat.com>

	* target/symbol.h: New file.
	* target.h: Include target/symbol.h.
	* target.c (target_look_up_symbol): New function.
	* common/agent.c: Include target/symbol.h.
	(agent_look_up_symbols): Use target_look_up_symbol.

gdb/gdbserver/
2014-07-09  Tom Tromey  <tromey@redhat.com>

	* target.c: Include target/symbol.h.
	(target_look_up_symbol): New function.
---
 gdb/ChangeLog           |    8 ++++++++
 gdb/common/agent.c      |   13 ++-----------
 gdb/gdbserver/ChangeLog |    5 +++++
 gdb/gdbserver/target.c  |    9 +++++++++
 gdb/target.c            |   13 +++++++++++++
 gdb/target.h            |    1 +
 gdb/target/symbol.h     |   26 ++++++++++++++++++++++++++
 7 files changed, 64 insertions(+), 11 deletions(-)
 create mode 100644 gdb/target/symbol.h

diff --git a/gdb/common/agent.c b/gdb/common/agent.c
index 0fde2fd..798dd1d 100644
--- a/gdb/common/agent.c
+++ b/gdb/common/agent.c
@@ -31,6 +31,7 @@
 
 #include "common-types.h"
 #include "target/target.h"
+#include "target/symbol.h"
 #include "errors.h"
 #include "ptid.h"
 #include "gdb_locale.h"
@@ -111,18 +112,8 @@ agent_look_up_symbols (void *arg)
     {
       CORE_ADDR *addrp =
 	(CORE_ADDR *) ((char *) &ipa_sym_addrs + symbol_list[i].offset);
-#ifdef GDBSERVER
-
-      if (look_up_one_symbol (symbol_list[i].name, addrp, 1) == 0)
-#else
-      struct bound_minimal_symbol sym =
-	lookup_minimal_symbol (symbol_list[i].name, NULL,
-			       (struct objfile *) arg);
 
-      if (sym.minsym != NULL)
-	*addrp = BMSYMBOL_VALUE_ADDRESS (sym);
-      else
-#endif
+      if (target_look_up_symbol (symbol_list[i].name, addrp, arg) == 0)
 	{
 	  DEBUG_AGENT ("symbol `%s' not found\n", symbol_list[i].name);
 	  return -1;
diff --git a/gdb/gdbserver/target.c b/gdb/gdbserver/target.c
index f93163e..58b3d8c 100644
--- a/gdb/gdbserver/target.c
+++ b/gdb/gdbserver/target.c
@@ -20,6 +20,7 @@
 
 #include "server.h"
 #include "tracepoint.h"
+#include "target/symbol.h"
 
 struct target_ops *the_target;
 
@@ -168,6 +169,14 @@ target_resume (ptid_t ptid, int step, enum gdb_signal signal)
   (*the_target->resume) (&resume_info, 1);
 }
 
+/* See target/symbol.h.  */
+
+int
+target_look_up_symbol (const char *name, CORE_ADDR *addr, void *data)
+{
+  return look_up_one_symbol (name, addr, 1);
+}
+
 int
 start_non_stop (int nonstop)
 {
diff --git a/gdb/target.c b/gdb/target.c
index 0796059..047f6ec 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -1322,6 +1322,19 @@ target_read_uint32 (CORE_ADDR memaddr, unsigned int *result)
   return 0;
 }
 
+/* See target/symbol.h.  */
+
+int
+target_look_up_symbol (const char *name, CORE_ADDR *addr, void *data)
+{
+  struct bound_minimal_symbol sym
+    = lookup_minimal_symbol (name, NULL, (struct objfile *) data);
+
+  if (sym.minsym != NULL)
+    *addr = BMSYMBOL_VALUE_ADDRESS (sym);
+  return sym.minsym != NULL;
+}
+
 /* Like target_read_memory, but specify explicitly that this is a read
    from the target's raw memory.  That is, this read bypasses the
    dcache, breakpoint shadowing, etc.  */
diff --git a/gdb/target.h b/gdb/target.h
index 2a4783c..bb776e4 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -62,6 +62,7 @@ struct dcache_struct;
 #include "target/resume.h"
 #include "target/wait.h"
 #include "target/waitstatus.h"
+#include "target/symbol.h"
 #include "bfd.h"
 #include "symtab.h"
 #include "memattr.h"
diff --git a/gdb/target/symbol.h b/gdb/target/symbol.h
new file mode 100644
index 0000000..3e4591f
--- /dev/null
+++ b/gdb/target/symbol.h
@@ -0,0 +1,26 @@
+/* Declarations of target symbol functions.
+
+   Copyright (C) 1986-2014 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 TARGET_SYMBOL_H
+#define TARGET_SYMBOL_H
+
+extern int target_look_up_symbol (const char *name, CORE_ADDR *addr,
+				  void *data);
+
+#endif /* TARGET_SYMBOL_H */
-- 
1.7.1


  parent reply	other threads:[~2014-07-09 11:25 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-09 11:25 [PATCH 00/15] Common code cleanups Gary Benson
2014-07-09 10:38 ` [PATCH 04/15] Introduce common-types.h Gary Benson
2014-07-09 10:38 ` [PATCH 03/15] Make gdbserver CORE_ADDR unsigned Gary Benson
2014-07-11 19:34   ` Doug Evans
2014-07-09 10:38 ` [PATCH 02/15] Remove some GDBSERVER checks from linux-ptrace Gary Benson
2014-07-09 17:27   ` Breazeal, Don
2014-07-09 18:20     ` Gary Benson
2014-07-09 18:23       ` Breazeal, Don
2014-07-11 19:30   ` Doug Evans
2014-07-15 12:30     ` Gary Benson
2014-07-09 10:38 ` [PATCH 01/15] Introduce common/errors.h Gary Benson
2014-07-09 10:39 ` [PATCH 15/15] Finally remove GDBSERVER (mostly) from linux-btrace.c Gary Benson
2014-07-09 10:39 ` [PATCH 09/15] Mostly remove GDBSERVER from linux-waitpid.c Gary Benson
2014-07-14 19:01   ` Doug Evans
2014-07-15 17:17     ` Gary Benson
2014-07-09 10:39 ` [PATCH 11/15] More target unification Gary Benson
2014-07-14 19:17   ` Doug Evans
2014-07-16 10:23     ` Gary Benson
2014-07-09 10:41 ` [PATCH 10/15] Add target/target.h Gary Benson
2014-07-10 17:50   ` Tom Tromey
2014-07-16  8:55     ` Gary Benson
2014-07-17 16:49       ` Tom Tromey
2014-07-09 10:41 ` [PATCH 08/15] Make btrace-common.h not use GDBSERVER Gary Benson
2014-07-14 18:59   ` Doug Evans
2014-07-09 10:41 ` [PATCH 07/15] Remove GDBSERVER use from nat/i386-dregs.c Gary Benson
2014-07-10 17:49   ` Tom Tromey
2014-07-11 12:57     ` Gary Benson
2014-07-11 15:38       ` Tom Tromey
2014-07-14  8:36         ` Gary Benson
2014-07-14 18:49   ` Doug Evans
2014-07-09 10:41 ` [PATCH 06/15] Remove simple GDBSERVER uses from common, nat and target Gary Benson
2014-07-14 18:49   ` Doug Evans
2014-07-15 15:42     ` Gary Benson
2014-07-09 10:52 ` [PATCH 05/15] Introduce and use debug_printf and debug_vprintf Gary Benson
2014-07-11 19:57   ` Doug Evans
2014-07-15 15:21     ` Gary Benson
2014-07-09 11:25 ` Gary Benson [this message]
2014-07-10 17:52   ` [PATCH 12/15] Add target/symbol.h, update users Tom Tromey
2014-07-10 18:55     ` Doug Evans
2014-07-10 19:16       ` Tom Tromey
2014-07-11 13:25         ` Gary Benson
2014-07-11 19:29           ` Doug Evans
2014-07-16 13:01             ` Gary Benson
2014-07-17 18:14               ` Tom Tromey
2014-07-16 10:38     ` Gary Benson
2014-07-17 16:50       ` Tom Tromey
2014-07-09 11:25 ` [PATCH 14/15] Introduce common_get_thread_regcache Gary Benson
2014-07-14 20:32   ` Doug Evans
2014-07-16 13:32     ` Gary Benson
2014-07-09 11:32 ` [PATCH 13/15] Finally remove GDBSERVER (mostly) from agent.c Gary Benson
2014-07-14 19:35   ` Doug Evans

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1404902255-11101-13-git-send-email-gbenson@redhat.com \
    --to=gbenson@redhat.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox