Annotation of hatari/tools/debugger/ahcc-symbols-convert.sh, revision 1.1

1.1     ! root        1: #!/bin/sh
        !             2: #
        !             3: # script to convert AHCC "linker -p" output for Hatari debugger.
        !             4: 
        !             5: usage ()
        !             6: {
        !             7:        name=${0##*/}
        !             8:        echo
        !             9:        echo "usage: $name <map file>"
        !            10:        echo
        !            11:        echo "convert AHCC 'linker -p' symbol address map output to 'nm'"
        !            12:        echo "format understood by the Hatari debugger 'symbols' command."
        !            13:        echo
        !            14:        echo "For example:"
        !            15:        echo "  $name etos512.map > etos512.sym"
        !            16:        echo
        !            17:        echo "ERROR: $1!"
        !            18:        echo
        !            19:        exit 1
        !            20: }
        !            21: if [ $# -ne 1 ]; then
        !            22:        usage "incorrect number of arguments"
        !            23: fi
        !            24: 
        !            25: if [ \! -f $1 ]; then
        !            26:        usage "given '$1' address map file not found"
        !            27: fi
        !            28: 
        !            29: # output only lines that have both address & symbol name,
        !            30: # remove "[ size]" stuff that confuses awk field parsing,
        !            31: # and convert those with awk to the "nm" format:
        !            32: #   <address> <type> <symbol name>
        !            33: egrep ' (TEXT|DATA|BSS) ' $1 | egrep -v '(TEXT|DATA|BSS)[[:space:]]*$' |\
        !            34: sed 's/\[[^]]*\]//' | awk '
        !            35: /^ .* TEXT / { print $1, "T", $4 }
        !            36: /^ .* DATA / { print $1, "D", $4 }
        !            37: /^ .* BSS /  { print $1, "B", $4 }'

unix.superglobalmegacorp.com

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