Commit 938e424
committed
fix(debuginfo): resolve addresses in additional R-E LOAD segments
VG_(find_DebugInfo) used only di->text_avma/text_size for address→DI
lookup, which covers the section named ".text" — not the other
executable sections (.text.warm, .text.cold, .bolt.org.text) that
BOLT-optimized binaries place in a separate R-E PT_LOAD segment.
Addresses in that second segment fell through to ob=??? even though
the address-space manager already knew they were backed by the same
file.
Fall back to VG_(am_find_nsegment) and match the segment's filename
against debugInfo_list. Reproduced on cpython-3.14 standalone (uv's
distribution): obj-skip now catches py_trampoline_evaluator,
_PyFunction_Vectorcall.cold, and other functions that previously
escaped via ob=???.1 parent 022ccc3 commit 938e424
1 file changed
Lines changed: 21 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2617 | 2617 | | |
2618 | 2618 | | |
2619 | 2619 | | |
| 2620 | + | |
| 2621 | + | |
| 2622 | + | |
| 2623 | + | |
| 2624 | + | |
| 2625 | + | |
| 2626 | + | |
| 2627 | + | |
| 2628 | + | |
| 2629 | + | |
| 2630 | + | |
| 2631 | + | |
| 2632 | + | |
| 2633 | + | |
| 2634 | + | |
| 2635 | + | |
| 2636 | + | |
| 2637 | + | |
| 2638 | + | |
| 2639 | + | |
| 2640 | + | |
2620 | 2641 | | |
2621 | 2642 | | |
2622 | 2643 | | |
| |||
0 commit comments