[tools] Enable symbolic debugging with -maout-symtab compiler option #1519
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Combined with compiler enhancement in tkchia/gcc-ia16#133, allows using
-maout-symtab
option to include program symbol table in ELKS binary without having to runelf2elks
separately. This will soon allow for automatic symbolic debugging and tracing to be used in every ELKS executable desired.Adds weak symbol support to symbol tables.
Adds optional program tracing to
basic
for sample display (usebasic --ftrace
after modifying elkscmd/basic/Makefile).Running symbolic kernel disassembly by running
cd elkscmd/debug; make
, then./disasm -k 2d0:0
in ELKS.Screenshot of
basic
showing symbolic function tracing and stack usage (timing info coming shortly):Symbolic disassembly of running ELKS kernel using
./disasm -k 2d0:0#512 | more
:Function call backtrace using
elkscmd/debug/testsym
demonstration executable:Will require updated toolchain with new commit number, coming shortly.