FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
android_kernel_asus_tf201/scripts/decodecode at master · AndroidRoot/android_kernel_asus_tf201 · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
AndroidRoot
/
android_kernel_asus_tf201
Public
Notifications
You must be signed in to change notification settings
Fork
17
Star
5
Code
Issues
1
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
android_kernel_asus_tf201
/
scripts
/
decodecode
Copy path
More file actions
More file actions
Latest commit
History
History
History
executable file
·
98 lines (79 loc) · 1.89 KB
Breadcrumbs
android_kernel_asus_tf201
/
scripts
/
decodecode
Copy path
File metadata and controls
executable file
·
98 lines (79 loc) · 1.89 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#!
/bin/sh
#
Disassemble the Code: line in Linux oopses
#
usage: decodecode < oops.file
#
#
options: set env. variable AFLAGS=options to pass options to "as";
#
e.g., to decode an i386 oops on an x86_64 system, use:
#
AFLAGS=--32 decodecode < 386.oops
cleanup
() {
rm -f
$T
$T
.s
$T
.o
$T
.oo
$T
.aa
$T
.dis
exit
1
}
die
() {
echo
"
$@
"
exit
1
}
trap
cleanup EXIT
T=
`
mktemp
`
||
die
"
cannot create temp file
"
code=
while
read
i
;
do
case
"
$i
"
in
*
Code:
*
)
code=
$i
;;
esac
done
if
[
-z
"
$code
"
]
;
then
rm
$T
exit
fi
echo
$code
code=
`
echo
$code
|
sed -e
'
s/.*Code: //
'
`
width=
`
expr index
"
$code
"
'
'
`
width=
$((
(
$width
-
1
)
/
2
))
case
$width
in
1) type=byte ;;
2) type=2byte ;;
4) type=4byte ;;
esac
disas
() {
${CROSS_COMPILE}
as
$AFLAGS
-o
$1
.o
$1
.s
>
/dev/null
2>&1
if
[
"
$ARCH
"
=
"
arm
"
]
;
then
if
[
$width
-eq
2 ]
;
then
OBJDUMPFLAGS=
"
-M force-thumb
"
fi
${CROSS_COMPILE}
strip
$1
.o
fi
${CROSS_COMPILE}
objdump
$OBJDUMPFLAGS
-S
$1
.o
|
\
grep -v
"
/tmp\|Disassembly\|\.text\|^$
"
>
$1
.dis
2>&1
}
marker=
`
expr index
"
$code
"
"
\<
"
`
if
[
$marker
-eq
0 ]
;
then
marker=
`
expr index
"
$code
"
"
\(
"
`
fi
touch
$T
.oo
if
[
$marker
-ne
0 ]
;
then
echo
All code
>>
$T
.oo
echo
========
>>
$T
.oo
beforemark=
`
echo
"
$code
"
`
echo
-n
"
.
$type
0x
"
>
$T
.s
echo
$beforemark
|
sed -e
'
s/ /,0x/g; s/[<>()]//g
'
>>
$T
.s
disas
$T
cat
$T
.dis
>>
$T
.oo
rm -f
$T
.o
$T
.s
$T
.dis
#
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; s/[>)]$//
'
`
echo
-n
"
.
$type
0x
"
>
$T
.s
echo
$code
>>
$T
.s
disas
$T
cat
$T
.dis
>>
$T
.aa
faultline=
`
cat
$T
.dis
|
head -1
|
cut -d
"
:
"
-f2
`
faultline=
`
echo
"
$faultline
"
|
sed -e
'
s/\[/\\\[/g; s/\]/\\\]/g
'
`
cat
$T
.oo
|
sed -e
"
s/\(
$faultline
\)/\*\1 <-- trapping instruction/g
"
echo
cat
$T
.aa
cleanup
Back
|
FazBrowse Home
|
New Git URL