mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-10-27 12:48:22 +00:00
kernel: generate symbol tables
In preparation for printing file+function names in backtraces, add support for generating and linking three tables into the kernel: - dbg_sym_table: a table consisting of <uint32_t addr_offset, uint32_t function_name_offset, uint32_t file_name_offset>, being ordered by offset. - dbg_fn_name_table: a table consisting of packed NULL terminated strings, which the dbg_sym_table points into. - dbg_file_name_table: a table consisting of packed NULL terminated strings, which the dbg_sym_table points into.
This commit is contained in:
@@ -68,6 +68,25 @@ SECTIONS
|
||||
*(.bss .bss.*)
|
||||
} :data
|
||||
|
||||
. = ALIGN(4);
|
||||
.dbg_sym_table : {
|
||||
dbg_sym_table = .;
|
||||
KEEP(*(.dbg_sym_table));
|
||||
dbg_sym_table_end = .;
|
||||
} :data
|
||||
|
||||
.dbg_fn_name_table : {
|
||||
dbg_fn_name_table = .;
|
||||
KEEP(*(.dbg_fn_name_table));
|
||||
dbg_fn_name_table_end = .;
|
||||
} :data
|
||||
|
||||
.dbg_file_name_table : {
|
||||
dbg_file_name_table = .;
|
||||
KEEP(*(.dbg_file_name_table));
|
||||
dbg_file_name_table_end = .;
|
||||
} :data
|
||||
|
||||
. = ALIGN(4K);
|
||||
_data_end = .;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user