* NEWS: Mention new "type" attribute of python gdb.Symbol objects.
* python/py-symbol.c (sympy_get_type): New function. (symbol_object_getset): Add "type". doc/ * gdb.texinfo (Symbols In Python): Document symbol.type. testsuite/ * gdb.python/py-symbol.exp: Add test for symbol.type.
This commit is contained in:
parent
505b88fb5d
commit
457e09f060
7 changed files with 45 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2011-08-12 Doug Evans <dje@google.com>
|
||||||
|
|
||||||
|
* NEWS: Mention new "type" attribute of python gdb.Symbol objects.
|
||||||
|
* python/py-symbol.c (sympy_get_type): New function.
|
||||||
|
(symbol_object_getset): Add "type".
|
||||||
|
|
||||||
2011-08-12 Pedro Alves <pedro@codesourcery.com>
|
2011-08-12 Pedro Alves <pedro@codesourcery.com>
|
||||||
|
|
||||||
PR tui/13073
|
PR tui/13073
|
||||||
|
|
2
gdb/NEWS
2
gdb/NEWS
|
@ -28,6 +28,8 @@
|
||||||
'data-directory'/python/gdb/function are now automatically loaded
|
'data-directory'/python/gdb/function are now automatically loaded
|
||||||
on GDB start-up.
|
on GDB start-up.
|
||||||
|
|
||||||
|
** Symbols now provide the "type" attribute, the type of the symbol.
|
||||||
|
|
||||||
* libthread-db-search-path now supports two special values: $sdir and $pdir.
|
* libthread-db-search-path now supports two special values: $sdir and $pdir.
|
||||||
$sdir specifies the default system locations of shared libraries.
|
$sdir specifies the default system locations of shared libraries.
|
||||||
$pdir specifies the directory where the libpthread used by the application
|
$pdir specifies the directory where the libpthread used by the application
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2011-08-12 Doug Evans <dje@google.com>
|
||||||
|
|
||||||
|
* gdb.texinfo (Symbols In Python): Document symbol.type.
|
||||||
|
|
||||||
2011-08-09 Phil Muldoon <pmuldoon@redhat.com>
|
2011-08-09 Phil Muldoon <pmuldoon@redhat.com>
|
||||||
|
|
||||||
* gdb.texinfo (Python): Document command and function
|
* gdb.texinfo (Python): Document command and function
|
||||||
|
|
|
@ -23198,6 +23198,12 @@ is not found.
|
||||||
A @code{gdb.Symbol} object has the following attributes:
|
A @code{gdb.Symbol} object has the following attributes:
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
|
@defivar Symbol type
|
||||||
|
The type of the symbol or @code{None} if no type is recorded.
|
||||||
|
This attribute is represented as a @code{gdb.Type} object.
|
||||||
|
@xref{Types In Python}. This attribute is not writable.
|
||||||
|
@end defivar
|
||||||
|
|
||||||
@defivar Symbol symtab
|
@defivar Symbol symtab
|
||||||
The symbol table in which the symbol appears. This attribute is
|
The symbol table in which the symbol appears. This attribute is
|
||||||
represented as a @code{gdb.Symtab} object. @xref{Symbol Tables In
|
represented as a @code{gdb.Symtab} object. @xref{Symbol Tables In
|
||||||
|
|
|
@ -65,6 +65,22 @@ sympy_str (PyObject *self)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static PyObject *
|
||||||
|
sympy_get_type (PyObject *self, void *closure)
|
||||||
|
{
|
||||||
|
struct symbol *symbol = NULL;
|
||||||
|
|
||||||
|
SYMPY_REQUIRE_VALID (self, symbol);
|
||||||
|
|
||||||
|
if (SYMBOL_TYPE (symbol) == NULL)
|
||||||
|
{
|
||||||
|
Py_INCREF (Py_None);
|
||||||
|
return Py_None;
|
||||||
|
}
|
||||||
|
|
||||||
|
return type_to_type_object (SYMBOL_TYPE (symbol));
|
||||||
|
}
|
||||||
|
|
||||||
static PyObject *
|
static PyObject *
|
||||||
sympy_get_symtab (PyObject *self, void *closure)
|
sympy_get_symtab (PyObject *self, void *closure)
|
||||||
{
|
{
|
||||||
|
@ -412,6 +428,8 @@ gdbpy_initialize_symbols (void)
|
||||||
|
|
||||||
|
|
||||||
static PyGetSetDef symbol_object_getset[] = {
|
static PyGetSetDef symbol_object_getset[] = {
|
||||||
|
{ "type", sympy_get_type, NULL,
|
||||||
|
"Type of the symbol.", NULL },
|
||||||
{ "symtab", sympy_get_symtab, NULL,
|
{ "symtab", sympy_get_symtab, NULL,
|
||||||
"Symbol table in which the symbol appears.", NULL },
|
"Symbol table in which the symbol appears.", NULL },
|
||||||
{ "name", sympy_get_name, NULL,
|
{ "name", sympy_get_name, NULL,
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2011-08-12 Doug Evans <dje@google.com>
|
||||||
|
|
||||||
|
* gdb.python/py-symbol.exp: Add test for symbol.type.
|
||||||
|
|
||||||
2011-08-12 Ulrich Weigand <ulrich.weigand@linaro.org>
|
2011-08-12 Ulrich Weigand <ulrich.weigand@linaro.org>
|
||||||
|
|
||||||
* gdb.threads/pthreads.exp: Enable on non-native configurations.
|
* gdb.threads/pthreads.exp: Enable on non-native configurations.
|
||||||
|
|
|
@ -95,6 +95,11 @@ gdb_test "python print t\[0\].is_constant" "True" "Test t.is_constant"
|
||||||
gdb_test "python print t\[0\].is_argument" "False" "Test t.is_argument"
|
gdb_test "python print t\[0\].is_argument" "False" "Test t.is_argument"
|
||||||
gdb_test "python print t\[0\].is_function" "False" "Test t.is_function"
|
gdb_test "python print t\[0\].is_function" "False" "Test t.is_function"
|
||||||
gdb_test "python print t\[0\].addr_class == gdb.SYMBOL_LOC_CONST" "True" "Test t.addr_class"
|
gdb_test "python print t\[0\].addr_class == gdb.SYMBOL_LOC_CONST" "True" "Test t.addr_class"
|
||||||
|
|
||||||
|
# Test type attribute.
|
||||||
|
gdb_test "python print t\[0\].type" "enum tag" "Get type"
|
||||||
|
|
||||||
|
# Test symtab attribute.
|
||||||
gdb_test "python print t\[0\].symtab" "gdb.python/py-symbol.c.*" "Get symtab"
|
gdb_test "python print t\[0\].symtab" "gdb.python/py-symbol.c.*" "Get symtab"
|
||||||
|
|
||||||
# C++ tests
|
# C++ tests
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue