Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 122981
b: refs/heads/master
c: 846442c
h: refs/heads/master
i:
  122979: a34e189
v: v3
  • Loading branch information
Arjan van de Ven authored and Sam Ravnborg committed Dec 3, 2008
1 parent 83bc853 commit 8bde5bf
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c39dd50240b97bfe4fcc49b41e1fe56675afcb94
refs/heads/master: 846442c8ddc02e378e7b981f0928449ed1ff1e1f
32 changes: 22 additions & 10 deletions trunk/scripts/decodecode
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# AFLAGS=--32 decodecode < 386.oops

cleanup() {
rm -f $T $T.s $T.o
rm -f $T $T.s $T.o $T.oo $T.aa $T.aaa
exit 1
}

Expand Down Expand Up @@ -44,21 +44,33 @@ if [ $marker -eq 0 ]; then
marker=`expr index "$code" "\("`
fi

touch $T.oo
if [ $marker -ne 0 ]; then
beforemark=`echo "$code" | cut -c-$((${marker} - 1))`
echo All code >> $T.oo
echo ======== >> $T.oo
beforemark=`echo "$code"`
echo -n " .byte 0x" > $T.s
echo $beforemark | sed -e 's/ /,0x/g' >> $T.s
as $AFLAGS -o $T.o $T.s
objdump -S $T.o
rm $T.o $T.s
echo $beforemark | sed -e 's/ /,0x/g' | sed -e 's/<//g' | sed -e 's/>//g' >> $T.s
as $AFLAGS -o $T.o $T.s &> /dev/null
objdump -S $T.o | grep -v "/tmp" | grep -v "Disassembly" | grep -v "\.text" | grep -v "^$" &> $T.ooo
cat $T.ooo >> $T.oo
rm -f $T.o $T.s $T.ooo

# and fix code at-and-after marker
code=`echo "$code" | cut -c$((${marker} + 1))-`
fi

echo Code starting with the faulting instruction > $T.aa
echo =========================================== >> $T.aa
code=`echo $code | sed -e 's/ [<(]/ /;s/[>)] / /;s/ /,0x/g'`
echo -n " .byte 0x" > $T.s
echo $code >> $T.s
as $AFLAGS -o $T.o $T.s
objdump -S $T.o
rm $T $T.s $T.o
as $AFLAGS -o $T.o $T.s &> /dev/null
objdump -S $T.o | grep -v "Disassembly" | grep -v "/tmp" | grep -v "\.text" | grep -v "^$" &> $T.aaa
cat $T.aaa >> $T.aa

faultline=`cat $T.aaa | head -1 | cut -d":" -f2`

cat $T.oo | sed -e "s/\($faultline\)/\*\1 <-- trapping instruction/g"
echo
cat $T.aa
cleanup

0 comments on commit 8bde5bf

Please sign in to comment.