diff options
| author | Joe Ludwig <[email protected]> | 2013-06-26 15:22:04 -0700 |
|---|---|---|
| committer | Joe Ludwig <[email protected]> | 2013-06-26 15:22:04 -0700 |
| commit | 39ed87570bdb2f86969d4be821c94b722dc71179 (patch) | |
| tree | abc53757f75f40c80278e87650ea92808274aa59 /sp/src/devtools/gendbg.sh | |
| download | source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.tar.xz source-sdk-2013-39ed87570bdb2f86969d4be821c94b722dc71179.zip | |
First version of the SOurce SDK 2013
Diffstat (limited to 'sp/src/devtools/gendbg.sh')
| -rw-r--r-- | sp/src/devtools/gendbg.sh | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/sp/src/devtools/gendbg.sh b/sp/src/devtools/gendbg.sh new file mode 100644 index 00000000..3bf30781 --- /dev/null +++ b/sp/src/devtools/gendbg.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +OBJCOPY=objcopy + +function usage { + echo "$0 /path/to/input/file [-o /path/to/output/file ]" + echo "" +} + +if [ $# == 0 ]; then + usage + exit 2 +fi + +if [ $(basename $1) == $1 ]; then + INFILEDIR=$PWD +else + INFILEDIR=$(cd ${1%/*} && echo $PWD) +fi +INFILE=$(basename $1) + +OUTFILEDIR=$INFILEDIR +OUTFILE=$INFILE.dbg + +while getopts "o:" opt; do + case $opt in + o) + OUTFILEDIR=$(cd ${OPTARG%/*} && echo $PWD) + OUTFILE=$(basename $OPTARG) + ;; + esac +done + +if [ "$OUTFILEDIR" != "$INFILEDIR" ]; then + INFILE=${INFILEDIR}/${INFILE} + OUTFILE=${OUTFILEDIR}/${OUTFILE} +fi + +pushd "$INFILEDIR" +$OBJCOPY "$INFILE" "$OUTFILE" +$OBJCOPY --add-gnu-debuglink="$OUTFILE" "$INFILE" +popd + + |