From: jeffm@suse.com
To: gdb-patches@sourceware.org
Cc: Jeff Mahoney <jeffm@suse.com>
Subject: [PATCH 5/7] py-symbol: export section name
Date: Thu, 04 Feb 2016 17:43:00 -0000 [thread overview]
Message-ID: <1454606973-31017-6-git-send-email-jeffm@suse.com> (raw)
In-Reply-To: <1454606973-31017-1-git-send-email-jeffm@suse.com>
From: Jeff Mahoney <jeffm@suse.com>
Some consumers of the symbol API need to know in what section a symbol is
located. This exports the section name as a string.
---
gdb/python/py-symbol.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/gdb/python/py-symbol.c b/gdb/python/py-symbol.c
index c7f0ff8..aad2edc 100644
--- a/gdb/python/py-symbol.c
+++ b/gdb/python/py-symbol.c
@@ -238,6 +238,27 @@ sympy_is_valid (PyObject *self, PyObject *args)
Py_RETURN_TRUE;
}
+static PyObject *
+sympy_section (PyObject *self, void *closure)
+{
+ struct symbol *symbol = NULL;
+ PyObject *section_obj;
+ struct obj_section *section;
+ const char *name;
+
+ SYMPY_REQUIRE_VALID (self, symbol);
+
+ section = SYMBOL_OBJ_SECTION (symbol_objfile(symbol), symbol);
+ if (section) {
+ name = bfd_section_name (symbol_objfile(objfile)->obfd,
+ section->the_bfd_section);
+ if (name)
+ return PyString_FromString (name);
+ }
+
+ Py_RETURN_NONE;
+}
+
/* Implementation of gdb.Symbol.value (self[, frame]) -> gdb.Value. Returns
the value of the symbol, or an error in various circumstances. */
@@ -590,6 +611,8 @@ to display demangled or mangled names.", NULL },
"True if the symbol requires a frame for evaluation." },
{ "line", sympy_line, NULL,
"The source line number at which the symbol was defined." },
+ { "section", sympy_section, NULL,
+ "Section of executable where symbol resides." },
{ NULL } /* Sentinel */
};
--
2.1.4
next prev parent reply other threads:[~2016-02-04 17:43 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-04 17:29 [PATCH 0/7] Python extension patchset jeffm
2016-02-04 17:29 ` [PATCH 3/7] py-symbol: use Py_RETURN_NONE instead of open coding it jeffm
2016-02-04 17:29 ` [PATCH 7/7] py-regcache: Add interface to regcache jeffm
2016-02-04 17:29 ` [PATCH 6/7] py-minsymbol: Add interface to access minimal_symbols jeffm
2016-02-05 12:25 ` Phil Muldoon
2016-02-05 16:43 ` Phil Muldoon
2016-02-08 15:51 ` Jeff Mahoney
2016-02-04 17:29 ` [PATCH 1/7] check_types_equal: short circuit check if identical pointers are used jeffm
2016-02-04 17:29 ` [PATCH 4/7] py-symbol: Require a frame for lookup_symbol only when necessary jeffm
2016-02-05 12:17 ` Phil Muldoon
2016-02-05 16:08 ` Jeff Mahoney
2016-02-05 16:35 ` Phil Muldoon
2016-02-04 17:43 ` [PATCH 2/7] py-value: properly handle unsigned and pointer types jeffm
2016-02-05 12:12 ` Phil Muldoon
2016-02-05 12:29 ` Phil Muldoon
2016-02-04 17:43 ` jeffm [this message]
2016-02-05 12:18 ` [PATCH 5/7] py-symbol: export section name Phil Muldoon
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=1454606973-31017-6-git-send-email-jeffm@suse.com \
--to=jeffm@suse.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