aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2023-09-19 17:35:08 -0600
committerTom Tromey <tom@tromey.com>2024-01-28 10:58:17 -0700
commite11de080a35f08c016e90d11f18918ec78fd1efc (patch)
tree7c99a51f7b93721706c17a79c7498a92387705c6
parent8068710e130036c0973d87cfc85b68981691d130 (diff)
Use a function-domain search in inside_main_func
This changes inside_main_func to search only for functions.
-rw-r--r--gdb/frame.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/gdb/frame.c b/gdb/frame.c
index 9e286a4272b..fae89cbbc0a 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -2560,13 +2560,9 @@ inside_main_func (frame_info_ptr this_frame)
symbol with the name of the main function. In this case we should
search the full symbols to see if we can find a match. */
struct block_symbol bs = lookup_symbol (name, nullptr,
- SEARCH_VFT, nullptr);
+ SEARCH_FUNCTION_DOMAIN, nullptr);
- /* We might have found some unrelated symbol. For example, the
- Rust compiler can emit both a subprogram and a namespace with
- the same name in the same scope; and due to how gdb's symbol
- tables currently work, we can't request the one we'd
- prefer. */
+ /* This lookup should always yield a block-valued symbol. */
if (bs.symbol != nullptr && bs.symbol->aclass () == LOC_BLOCK)
{
const struct block *block = bs.symbol->value_block ();