]> gitweb @ CieloNegro.org - sugar.git/blob - dot-files/_gdbinit
Auto commit by The Sugar System.
[sugar.git] / dot-files / _gdbinit
1 # Change $r27 to whatever BaseReg is mapped to
2 define pregs
3 print *(StgRegTable *)$r27
4 end
5
6 define ptso
7 print *((StgRegTable*)$r27)->rCurrentTSO
8 end
9
10 define pR1
11 print (((StgRegTable)MainRegTable).rR1)
12 end
13 define pR2
14 print (((StgRegTable)MainRegTable).rR2)
15 end
16 define pR3
17 print (((StgRegTable)MainRegTable).rR3)
18 end
19 define pR4
20 print (((StgRegTable)MainRegTable).rR4)
21 end
22 define pR5
23 print (((StgRegTable)MainRegTable).rR5)
24 end
25 define pR6
26 print (((StgRegTable)MainRegTable).rR6)
27 end
28 define pR7
29 print (((StgRegTable)MainRegTable).rR7)
30 end
31 define pR8
32 print (((StgRegTable)MainRegTable).rR8)
33 end
34 define pFlt1
35 print (StgFloat) (((StgRegTable)MainRegTable).rFlt1)
36 end
37 define pDbl1
38 print (StgDouble) (((StgRegTable)MainRegTable).rDbl1)
39 end
40
41 define pSp
42 print (((StgRegTable)MainRegTable).rSp)
43 end
44 define pSu
45 print (((StgRegTable)MainRegTable).rSu)
46 end
47 define pSpLim
48 print (((StgRegTable)MainRegTable).rSpLim)
49 end
50
51 define pHp
52 print (((StgRegTable)MainRegTable).rHp)
53 end
54 define pHpLim
55 print (((StgRegTable)MainRegTable).rHpLim)
56 end
57
58 # Change $r22 to whatever Sp is mapped to
59 define pstk
60 pmem $r22 16
61 end
62
63 define pstk_gc
64 pmem MainTSO->sp 16
65 end
66
67 define pmem
68 set $i = $arg1
69 set $mem = ((unsigned long)$arg0) & (sizeof(void*)==8 ? ~7 : ~3)
70 while $i > 0
71 set $i = $i - 1
72 x/1a (((long *)$mem) +$i)
73 end
74 end
75
76 define p4
77 pmem $arg0 4
78 end
79
80 define p8
81 pmem $arg0 8
82 end
83
84 define p16
85 pmem $arg0 16
86 end
87
88 define pmem_forwards
89 set $mem = $arg0 & (sizeof(void*)==8 ? ~7 : ~3)
90 set $i = 0
91 while $i < $arg1
92 x/1a (((int *)$mem) + $i)
93 set $i = $i + 1
94 end
95 end
96
97 define pheap
98 pmem $edi-16 16
99 end
100
101 define dpc
102 display /i $pc
103 end
104
105 define pinfo
106 p *((StgInfoTable *)$arg0-1)
107 end
108
109 define pcinfo
110 p *((StgConInfoTable *)$arg0-1)
111 end
112
113 define prinfo
114 p *((StgRetInfoTable *)$arg0-1)
115 end
116
117 define pfinfo
118 p *((StgFunInfoTable *)$arg0-1)
119 end
120
121 define pbd
122 p sizeof(void *)==8 ? (* ((bdescr *)((($arg0 & 0xfffffffffff00000) | (($arg0 & 0xff000) >> 6)) & 0xffffffffffffffc0))) : * ((bdescr *)((($arg0 & 0xfff00000) | (($arg0 & 0xff000) >> 7)) & 0xffffffe0))
123 end
124
125 define pgen
126 p generations[((bdescr *)((($arg0 & 0xfff00000) | (($arg0 & 0xff000) >> 7)) & 0xffffffe0))->gen_no]
127 p * ((bdescr *)((($arg0 & 0xfff00000) | (($arg0 & 0xff000) >> 7)) & 0xffffffe0))->step
128 end
129
130 define getmark
131 set $bd = (bdescr *)((($arg0 & 0xfff00000) | (($arg0 & 0xff000) >> 7)) & 0xffffffe0)
132 set $offset = (StgPtr)$arg0 - $bd->start
133 set $bitmap_word = $bd->u.bitmap + ($offset / 32)
134 set $mask = 1 << ($offset & 31)
135 p (*$bitmap_word & $mask) != 0
136 end
137
138 define getmark64
139 set $bd = (bdescr *)((($arg0 & 0xfffffffffff00000) | (($arg0 & 0xff000) >> 6)) & 0xffffffffffffffc0)
140 set $offset = (StgPtr)$arg0 - $bd->start
141 set $bitmap_word = $bd->u.bitmap + ($offset / 64)
142 set $mask = 1 << ($offset & 63)
143 p (*$bitmap_word & $mask) != 0
144 end
145
146 # ignore SIGPIPEs
147 handle SIGPIPE nostop noprint ignore
148
149 define debug1
150 p RtsFlags.DebugFlags.interpreter=1
151 p RtsFlags.DebugFlags.apply=1
152 p RtsFlags.DebugFlags.sanity=1
153 end
154
155 define debug2
156 p RtsFlags.DebugFlags.interpreter=1
157 p RtsFlags.DebugFlags.sanity=1
158 end
159
160 define sanity
161 p RtsFlags.DebugFlags.sanity=1
162 end
163
164 define srch
165 print findPtr($1,0)
166 end
167 define chain
168 print findPtr($1,1)
169 end