public inbox for gdb-prs@sourceware.org help / color / mirror / Atom feed
* [Bug symtab/25857] New: Partial symtab expansion state influences lookup results @ 2020-04-20 6:34 vries at gcc dot gnu.org 2020-08-09 20:45 ` [Bug symtab/25857] " tromey at sourceware dot org ` (4 more replies) 0 siblings, 5 replies; 6+ messages in thread From: vries at gcc dot gnu.org @ 2020-04-20 6:34 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=25857 Bug ID: 25857 Summary: Partial symtab expansion state influences lookup results Product: gdb Version: HEAD Status: NEW Severity: normal Priority: P2 Component: symtab Assignee: unassigned at sourceware dot org Reporter: vries at gcc dot gnu.org Target Milestone: --- Consider the following test-case: ... $ cat main.c int main () { return 0; } $ cat test.c static int aaa = 1; $ cat test2.c static int aaa = 2; ... Compiled like this: ... $ gcc main.c test.c test2.c -g ... When doing a contextless print of aaa, we get: ... $ gdb -batch a.out -ex "print aaa" $1 = 2 ... Same with -readnow. But when we first expand the psymtab for test.c, we get instead: ... $ gdb -batch a.out -ex "maint expand-symtab test.c" -ex "print aaa" $1 = 1 ... This is due to lookup_symbol_in_objfile: ... /* Perform the standard symbol lookup of NAME in OBJFILE: 1) First search expanded symtabs, and if not found 2) Search the "quick" symtabs (partial or .gdb_index). BLOCK_INDEX is one of GLOBAL_BLOCK or STATIC_BLOCK. */ ... I think it's a bug if presence of partial symtabs and expansion state has influence on the results of gdb. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug symtab/25857] Partial symtab expansion state influences lookup results 2020-04-20 6:34 [Bug symtab/25857] New: Partial symtab expansion state influences lookup results vries at gcc dot gnu.org @ 2020-08-09 20:45 ` tromey at sourceware dot org 2023-07-19 11:41 ` vries at gcc dot gnu.org ` (3 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: tromey at sourceware dot org @ 2020-08-09 20:45 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=25857 Tom Tromey <tromey at sourceware dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tromey at sourceware dot org --- Comment #1 from Tom Tromey <tromey at sourceware dot org> --- > I think it's a bug if presence of partial symtabs and expansion state has influence on the results of gdb. +1 -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug symtab/25857] Partial symtab expansion state influences lookup results 2020-04-20 6:34 [Bug symtab/25857] New: Partial symtab expansion state influences lookup results vries at gcc dot gnu.org 2020-08-09 20:45 ` [Bug symtab/25857] " tromey at sourceware dot org @ 2023-07-19 11:41 ` vries at gcc dot gnu.org 2023-07-19 12:48 ` vries at gcc dot gnu.org ` (2 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: vries at gcc dot gnu.org @ 2023-07-19 11:41 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=25857 --- Comment #2 from Tom de Vries <vries at gcc dot gnu.org> --- Tentative patch, reverse search order: .... diff --git a/gdb/symtab.c b/gdb/symtab.c index 0117a2a59d7..7ae4a4b6d51 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -2503,6 +2503,15 @@ lookup_symbol_in_objfile (struct objfile *objfile, enum block_enum block_index, ? "GLOBAL_BLOCK" : "STATIC_BLOCK", name, domain_name (domain)); + result = lookup_symbol_via_quick_fns (objfile, block_index, + name, domain); + symbol_lookup_debug_printf ("lookup_symbol_in_objfile (...) = %s%s", + result.symbol != NULL + ? host_address_to_string (result.symbol) + : "NULL", + result.symbol != NULL ? " (via quick fns)" + : ""); + result = lookup_symbol_in_objfile_symtabs (objfile, block_index, name, domain); if (result.symbol != NULL) @@ -2513,14 +2522,6 @@ lookup_symbol_in_objfile (struct objfile *objfile, enum block_enum block_index, return result; } - result = lookup_symbol_via_quick_fns (objfile, block_index, - name, domain); - symbol_lookup_debug_printf ("lookup_symbol_in_objfile (...) = %s%s", - result.symbol != NULL - ? host_address_to_string (result.symbol) - : "NULL", - result.symbol != NULL ? " (via quick fns)" - : ""); return result; } ... -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug symtab/25857] Partial symtab expansion state influences lookup results 2020-04-20 6:34 [Bug symtab/25857] New: Partial symtab expansion state influences lookup results vries at gcc dot gnu.org 2020-08-09 20:45 ` [Bug symtab/25857] " tromey at sourceware dot org 2023-07-19 11:41 ` vries at gcc dot gnu.org @ 2023-07-19 12:48 ` vries at gcc dot gnu.org 2023-08-08 18:50 ` vries at gcc dot gnu.org 2023-08-08 18:57 ` sam at gentoo dot org 4 siblings, 0 replies; 6+ messages in thread From: vries at gcc dot gnu.org @ 2023-07-19 12:48 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=25857 --- Comment #3 from Tom de Vries <vries at gcc dot gnu.org> --- Hmm, the other problem is that readnow expands the symtabs in the order of the debug info, while selective expansion of symtabs results in a list with expansion order. So, with this example: ... $ cat main.c int main (void) { return 0; } $ cat test.c static int aaa = 1; static int test1 = 1; $ cat test-2.c static int aaa = 2; static int test2 = 2; ... and: ... $ gcc -g main.c test.c test-2.c ... we still have: ... $ gdb -q -batch a.out -ex "print test1" -ex "print test2" -ex "print aaa" $1 = 1 $2 = 2 $3 = 2 $ gdb -q -batch a.out -ex "print test2" -ex "print test1" -ex "print aaa" $1 = 2 $2 = 1 $3 = 1 ... -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug symtab/25857] Partial symtab expansion state influences lookup results 2020-04-20 6:34 [Bug symtab/25857] New: Partial symtab expansion state influences lookup results vries at gcc dot gnu.org ` (2 preceding siblings ...) 2023-07-19 12:48 ` vries at gcc dot gnu.org @ 2023-08-08 18:50 ` vries at gcc dot gnu.org 2023-08-08 18:57 ` sam at gentoo dot org 4 siblings, 0 replies; 6+ messages in thread From: vries at gcc dot gnu.org @ 2023-08-08 18:50 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=25857 --- Comment #4 from Tom de Vries <vries at gcc dot gnu.org> --- Filed the readnow issue as PR30738. -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug symtab/25857] Partial symtab expansion state influences lookup results 2020-04-20 6:34 [Bug symtab/25857] New: Partial symtab expansion state influences lookup results vries at gcc dot gnu.org ` (3 preceding siblings ...) 2023-08-08 18:50 ` vries at gcc dot gnu.org @ 2023-08-08 18:57 ` sam at gentoo dot org 4 siblings, 0 replies; 6+ messages in thread From: sam at gentoo dot org @ 2023-08-08 18:57 UTC (permalink / raw) To: gdb-prs https://sourceware.org/bugzilla/show_bug.cgi?id=25857 Sam James <sam at gentoo dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://sourceware.org/bugz | |illa/show_bug.cgi?id=30738 -- You are receiving this mail because: You are on the CC list for the bug. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-08-08 18:57 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-04-20 6:34 [Bug symtab/25857] New: Partial symtab expansion state influences lookup results vries at gcc dot gnu.org 2020-08-09 20:45 ` [Bug symtab/25857] " tromey at sourceware dot org 2023-07-19 11:41 ` vries at gcc dot gnu.org 2023-07-19 12:48 ` vries at gcc dot gnu.org 2023-08-08 18:50 ` vries at gcc dot gnu.org 2023-08-08 18:57 ` sam at gentoo dot org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).