diff options
author | Tom Tromey <tom@tromey.com> | 2023-09-19 17:35:08 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2024-01-28 10:58:17 -0700 |
commit | e11de080a35f08c016e90d11f18918ec78fd1efc (patch) | |
tree | 7c99a51f7b93721706c17a79c7498a92387705c6 | |
parent | 8068710e130036c0973d87cfc85b68981691d130 (diff) | |
download | gdb-e11de080a35f08c016e90d11f18918ec78fd1efc.zip gdb-e11de080a35f08c016e90d11f18918ec78fd1efc.tar.gz gdb-e11de080a35f08c016e90d11f18918ec78fd1efc.tar.bz2 |
Use a function-domain search in inside_main_func
This changes inside_main_func to search only for functions.
-rw-r--r-- | gdb/frame.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/gdb/frame.c b/gdb/frame.c index 9e286a4..fae89cb 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 (); |