gst2ascii - Filter and output Atari program symbol table as ASCII
gst2ascii [options] <program>
gst2ascii reads (GNU-style a.out or traditional DRI/GST) symbol table
from given Atari program and outputs it in the ASCII format understood by
Hatari debugger and its profiler data post-processor (latter doesn't accept
any other format).
All symbol addresses output by the tool are TEXT relative, so when loading them
in Hatari debugger, one needs to give just TEXT as offset for the 'symbols'
command.
There are some options for filtering the symbol table content, and the resulting
ASCII output is easy to edit also by hand, in case other symbols (e.g. loop
labels) need to be removed from it, or missing function symbols need to be
added to it.
- -a
- Filter absolute (= value, not address) symbols out from the
output.
- -b
- Filter BSS symbols out from the output.
- -d
- Filter DATA symbols out from the output.
- -t
- Filter TEXT symbols out from the output.
- -l
- Filter local (.L*) symbols out. Usually they're useless
because they don't have names, just numbers.
- -o
- Filter symbols for object files (*.o) out.
- -n
- Sort symbol output by symbol name, not by their
addresses.
If you have problems, try with 'nm -n <program>' instead (Atari or
cross-compiler version). If
nm works, but
gst2ascii doesn't,
please report a bug on it.
Save 'program.prg' symbol table in ASCII format with local symbols filtered out:
gst2ascii -l program.prg > program.sym
Load generated ASCII symbols file in Hatari debugger:
symbols program.sym TEXT DATA BSS
hatari(1),
hatari_profile(1)
Written by Eero Tamminen <oak at helsinkinet fi>.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more
details.