1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-14 08:54:58 +00:00

Kernel: Print relative symbol addresses in dump_backtrace_impl

By subtracting the load base we get addresses which the user can paste
into addr2line.
This commit is contained in:
Gunnar Beutner 2021-07-28 22:11:19 +02:00 committed by Andreas Kling
parent c4bfda7f7f
commit 3cfb1787b8

View file

@ -144,14 +144,14 @@ NEVER_INLINE static void dump_backtrace_impl(FlatPtr base_pointer, bool use_ksym
if (!symbol.address)
break;
if (!symbol.symbol) {
dbgln("{:p}", symbol.address);
dbgln("Kernel + {:p}", symbol.address - kernel_load_base);
continue;
}
size_t offset = symbol.address - symbol.symbol->address;
if (symbol.symbol->address == g_highest_kernel_symbol_address && offset > 4096)
dbgln("{:p}", symbol.address);
dbgln("Kernel + {:p}", symbol.address - kernel_load_base);
else
dbgln("{:p} {} +{:#x}", symbol.address, symbol.symbol->name, offset);
dbgln("Kernel + {:p} {} +{:#x}", symbol.address - kernel_load_base, symbol.symbol->name, offset);
}
}