@@ -182,6 +182,119 @@ Ureg(addr) {
182
182
};
183
183
sizeofUreg = 184;
184
184
185
+ aggr freebsd_amd64_siginfo
186
+ {
187
+ 'X' 0 signo;
188
+ 'X' 4 errno;
189
+ 'X' 8 code;
190
+ 'X' 12 pid;
191
+ 'X' 16 uid;
192
+ 'X' 20 status;
193
+ 'Y' 24 addr;
194
+ 'Y' 32 sigval;
195
+ 's' 40 reason;
196
+ };
197
+
198
+ defn
199
+ freebsd_amd64_siginfo(addr) {
200
+ complex freebsd_amd64_siginfo addr;
201
+ print(" signo ", addr.signo, "\n");
202
+ print(" errno ", addr.errno, "\n");
203
+ print(" code ", addr.code, "\n");
204
+ print(" pid ", addr.pid, "\n");
205
+ print(" uid ", addr.uid, "\n");
206
+ print(" status ", addr.status, "\n");
207
+ print(" addr ", addr.addr, "\n");
208
+ print(" sigval ", addr.sigval, "\n");
209
+ };
210
+
211
+ aggr freebsd_amd64_ucontext
212
+ {
213
+ 'X' 0 sigmask0;
214
+ 'X' 4 sigmask1;
215
+ 'X' 8 sigmask2;
216
+ 'X' 12 sigmask3;
217
+ 'Y' 16 onstack;
218
+ 'Y' 24 rdi;
219
+ 'Y' 32 rsi;
220
+ 'Y' 40 rdx;
221
+ 'Y' 48 rcx;
222
+ 'Y' 56 r8;
223
+ 'Y' 64 r9;
224
+ 'Y' 72 rax;
225
+ 'Y' 80 rbx;
226
+ 'Y' 88 rbp;
227
+ 'Y' 96 r10;
228
+ 'Y' 104 r11;
229
+ 'Y' 112 r12;
230
+ 'Y' 120 r13;
231
+ 'Y' 128 r14;
232
+ 'Y' 136 r15;
233
+ 'X' 144 trapno;
234
+ 'x' 148 fs;
235
+ 'x' 150 gs;
236
+ 'Y' 152 addr;
237
+ 'X' 160 flags;
238
+ 'x' 164 es;
239
+ 'x' 166 ds;
240
+ 'Y' 168 err;
241
+ 'Y' 176 rip;
242
+ 'Y' 184 cs;
243
+ 'Y' 192 rflags;
244
+ 'Y' 200 rsp;
245
+ 'Y' 208 ss;
246
+ 'Y' 216 len;
247
+ 'Y' 224 fpformat;
248
+ 'Y' 232 ownedfp;
249
+ 'Y' 240 fpstate0;
250
+ 'Y' 752 fsbase;
251
+ 'Y' 760 gsbase;
252
+ };
253
+
254
+ defn
255
+ freebsd_amd64_ucontext(addr) {
256
+ complex freebsd_amd64_ucontext addr;
257
+ print(" sigmask0 ", addr.sigmask0, "\n");
258
+ print(" sigmask1 ", addr.sigmask1, "\n");
259
+ print(" sigmask2 ", addr.sigmask2, "\n");
260
+ print(" sigmask3 ", addr.sigmask3, "\n");
261
+ print(" onstack ", addr.onstack, "\n");
262
+ print(" rdi ", addr.rdi, "\n");
263
+ print(" rsi ", addr.rsi, "\n");
264
+ print(" rdx ", addr.rdx, "\n");
265
+ print(" rcx ", addr.rcx, "\n");
266
+ print(" r8 ", addr.r8, "\n");
267
+ print(" r9 ", addr.r9, "\n");
268
+ print(" rax ", addr.rax, "\n");
269
+ print(" rbx ", addr.rbx, "\n");
270
+ print(" rbp ", addr.rbp, "\n");
271
+ print(" r10 ", addr.r10, "\n");
272
+ print(" r11 ", addr.r11, "\n");
273
+ print(" r12 ", addr.r12, "\n");
274
+ print(" r13 ", addr.r13, "\n");
275
+ print(" r14 ", addr.r14, "\n");
276
+ print(" r15 ", addr.r15, "\n");
277
+ print(" trapno ", addr.trapno, "\n");
278
+ print(" fs ", addr.fs, "\n");
279
+ print(" gs ", addr.gs, "\n");
280
+ print(" addr ", addr.addr, "\n");
281
+ print(" flags ", addr.flags, "\n");
282
+ print(" es ", addr.es, "\n");
283
+ print(" ds ", addr.ds, "\n");
284
+ print(" err ", addr.err, "\n");
285
+ print(" rip ", addr.rip, "\n");
286
+ print(" cs ", addr.cs, "\n");
287
+ print(" rflags ", addr.rflags, "\n");
288
+ print(" rsp ", addr.rsp, "\n");
289
+ print(" ss ", addr.ss, "\n");
290
+ print(" len ", addr.len, "\n");
291
+ print(" fpformat ", addr.fpformat, "\n");
292
+ print(" ownedfp ", addr.ownedfp, "\n");
293
+ print(" fpstate0 ", addr.fpstate0, "\n");
294
+ print(" fsbase ", addr.fsbase, "\n");
295
+ print(" gsbase ", addr.gsbase, "\n");
296
+ }
297
+
185
298
// aggr Linkdebug
186
299
// {
187
300
// 'X' 0 version;
0 commit comments