Annotation of hatari/tools/debugger/nm-symbols-cleanup.sh, revision 1.1.1.1

1.1       root        1: #!/bin/sh
                      2: #
                      3: # script to cleanup 'nm' output for Hatari debugger.
                      4: #
                      5: # 2013 (C) Eero Tamminen, licenced under GPL v2+
                      6: 
                      7: usage ()
                      8: {
                      9:        name=${0##*/}
                     10:        echo
                     11:        echo "Usage: $name <nm output file>"
                     12:        echo
                     13:        echo "Clean up from 'nm' symbol adddress output"
                     14:        echo "symbols that aren't useful with Hatari debugger"
                     15:        echo "e.g. because those (non-interesting) symbols"
                     16:        echo "are bound to multiple addresses:"
                     17:        echo "- GCC (2.x) internal symbols"
                     18:        echo "- Repeating local symbol names ('.L<number>')"
                     19:        echo "- Assignments / defines which aren't addresses"
                     20:        echo "- Weak symbols that are just aliases for other symbols"
                     21:        echo "Paths are also remove from object file names."
                     22:        echo
                     23:        echo "For example:"
                     24:        echo "  $name foobar.nm > foobar.sym"
                     25:        echo
                     26:        echo "ERROR: $1!"
                     27:        echo
                     28:        exit 1
                     29: }
                     30: if [ $# -ne 1 ]; then
                     31:        usage "incorrect number of arguments"
                     32: fi
                     33: 
                     34: if [ \! -f $1 ]; then
                     35:        usage "given '$1' nm output file not found"
                     36: fi
                     37: 
                     38: # clean symbol cruft & sort by hex address
                     39: cat $1 | grep -v -e ' [aAwW] ' -e ' t \.L' -e gcc2_compiled -e _gnu_compiled_c | sed 's%/.*/%%' | sort

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.