| Summary: | DWARF index doesn't follow strcmp_iw | ||
|---|---|---|---|
| Product: | gdb | Reporter: | Tom Tromey <tromey> |
| Component: | symtab | Assignee: | Tom Tromey <tromey> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | P2 | ||
| Version: | HEAD | ||
| Target Milestone: | 17.1 | ||
| Host: | Target: | ||
| Build: | Last reconfirmed: | ||
| Project(s) to access: | ssh public key: | ||
| Bug Depends on: | |||
| Bug Blocks: | 29366, 16998 | ||
|
Description
Tom Tromey
2024-12-19 16:12:02 UTC
On the other hand, this feature has been broken ~2 years and apparently nobody has noticed. It is documented though. The master branch has been updated by Tom Tromey <tromey@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=2e724489260d02a528591eaea4710ce5aeeee0e8 commit 2e724489260d02a528591eaea4710ce5aeeee0e8 Author: Tom Tromey <tom@tromey.com> Date: Sat Dec 28 14:10:56 2024 -0700 Fix C++ template function matching in cooked index In commit 64a97606 ("Support template lookups in strncmp_iw_with_mode"), gdb was changed so that a command like "break func<templ>" would match instantiations like "func<templ<int>>". The new indexer does not support this and so this is a regression. This went unnoticed because gdb.linespec.cpcompletion.exp puts all these functions into the main file, and this CU is expanded early. This patch fixes the bug by changing the cooked index entry comparison function. It also updates the test to fail without this fix. Regression tested on x86-64 Fedora 40. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32482 Fixed. |