aboutsummaryrefslogtreecommitdiff
path: root/sp/src/devtools/gendbg.sh
diff options
context:
space:
mode:
authorJoe Ludwig <[email protected]>2013-06-26 15:22:04 -0700
committerJoe Ludwig <[email protected]>2013-06-26 15:22:04 -0700
commit39ed87570bdb2f86969d4be821c94b722dc71179 (patch)
treeabc53757f75f40c80278e87650ea92808274aa59 /sp/src/devtools/gendbg.sh
downloadsource-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.sh44
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
+
+