diff options
Diffstat (limited to 'gdb/python/py-symbol.c')
-rw-r--r-- | gdb/python/py-symbol.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/gdb/python/py-symbol.c b/gdb/python/py-symbol.c index a7d010f..2fb6837 100644 --- a/gdb/python/py-symbol.c +++ b/gdb/python/py-symbol.c @@ -432,8 +432,8 @@ gdbpy_lookup_symbol (PyObject *self, PyObject *args, PyObject *kw) try { - symbol = lookup_symbol (name, block, (domain_enum) domain, - &is_a_field_of_this).symbol; + domain_search_flags flags = from_scripting_domain (domain); + symbol = lookup_symbol (name, block, flags, &is_a_field_of_this).symbol; } catch (const gdb_exception &except) { @@ -481,7 +481,8 @@ gdbpy_lookup_global_symbol (PyObject *self, PyObject *args, PyObject *kw) try { - symbol = lookup_global_symbol (name, NULL, (domain_enum) domain).symbol; + domain_search_flags flags = from_scripting_domain (domain); + symbol = lookup_global_symbol (name, NULL, flags).symbol; } catch (const gdb_exception &except) { @@ -542,13 +543,14 @@ gdbpy_lookup_static_symbol (PyObject *self, PyObject *args, PyObject *kw) try { + domain_search_flags flags = from_scripting_domain (domain); + if (block != nullptr) symbol - = lookup_symbol_in_static_block (name, block, - (domain_enum) domain).symbol; + = lookup_symbol_in_static_block (name, block, flags).symbol; if (symbol == nullptr) - symbol = lookup_static_symbol (name, (domain_enum) domain).symbol; + symbol = lookup_static_symbol (name, flags).symbol; } catch (const gdb_exception &except) { @@ -592,6 +594,8 @@ gdbpy_lookup_static_symbols (PyObject *self, PyObject *args, PyObject *kw) try { + domain_search_flags flags = from_scripting_domain (domain); + /* Expand any symtabs that contain potentially matching symbols. */ lookup_name_info lookup_name (name, symbol_name_match_type::FULL); expand_symtabs_matching (NULL, lookup_name, NULL, NULL, @@ -613,7 +617,7 @@ gdbpy_lookup_static_symbols (PyObject *self, PyObject *args, PyObject *kw) if (block != nullptr) { symbol *symbol = lookup_symbol_in_static_block - (name, block, (domain_enum) domain).symbol; + (name, block, flags).symbol; if (symbol != nullptr) { @@ -675,7 +679,9 @@ gdbpy_initialize_symbols (void) #define DOMAIN(X) \ if (PyModule_AddIntConstant (gdb_module, "SYMBOL_" #X "_DOMAIN", \ - X ## _DOMAIN) < 0) \ + to_scripting_domain (X ## _DOMAIN)) < 0 \ + || PyModule_AddIntConstant (gdb_module, "SEARCH_" #X "_DOMAIN", \ + to_scripting_domain (SEARCH_ ## X ## _DOMAIN)) < 0) \ return -1; #include "sym-domains.def" #undef DOMAIN |