mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-04-27 19:09:47 +03:00
Fixes bug that would stop iterating inline site syms early
This fix reveals another bug--we need to display the inline site syms in the reverse of the encoded order. The parent/child relationships are actually encoded on the inline sites, but it's likely a bit fragile to try to trace those, and also more complex. As long as there aren't multiple matches this is fine, and if there are, tracing the parent/child chain won't work anyway.
This commit is contained in:
@@ -62,7 +62,8 @@ pub const SymbolIterator = struct {
|
||||
const pdb = if (di.pdb) |*pdb| pdb else unreachable;
|
||||
|
||||
// Get the next inlinee if it exists
|
||||
if (info.inlinees.next(info.module)) |site| {
|
||||
while (info.inlinees.next(info.module)) |site| {
|
||||
const parent: *align(1) const std.pdb.RecordPrefix = @ptrCast(&info.module.symbols[site.parent - @sizeOf(u16) * 2]);
|
||||
if (pdb.getInlineeInfo(info.module, site.inlinee) catch null) |loc| {
|
||||
if (info.proc_sym) |proc_sym| {
|
||||
const offset_in_func = info.addr - proc_sym.code_offset;
|
||||
|
||||
Reference in New Issue
Block a user