aboutsummaryrefslogtreecommitdiff
path: root/src/libmach
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmach')
-rw-r--r--src/libmach/elfcorefreebsdamd64.c3
-rw-r--r--src/libmach/regs.c5
2 files changed, 6 insertions, 2 deletions
diff --git a/src/libmach/elfcorefreebsdamd64.c b/src/libmach/elfcorefreebsdamd64.c
index aefed432..dd7f6f94 100644
--- a/src/libmach/elfcorefreebsdamd64.c
+++ b/src/libmach/elfcorefreebsdamd64.c
@@ -113,7 +113,8 @@ elfcorefreebsdamd64(Fhdr *fp, Elf *elf, ElfNote *note)
u->flags = l->rflags;
u->sp = l->rsp;
u->ss = l->ss;
-
+print("core PC=%#llux SP=%#llux\n", u->ip, u->sp);
+
if((fp->thread = realloc(fp->thread, (1+fp->nthread)*sizeof(fp->thread[0]))) == nil){
fprint(2, "warning: out of memory saving thread info\n");
return;
diff --git a/src/libmach/regs.c b/src/libmach/regs.c
index 4df03cbd..07616c1f 100644
--- a/src/libmach/regs.c
+++ b/src/libmach/regs.c
@@ -27,7 +27,7 @@ int
rget(Regs *regs, char *name, u64int *u)
{
if(regs == nil){
- *u = ~(ulong)0;
+ *u = ~(u64int)0;
werrstr("registers not mapped");
return -1;
}
@@ -54,6 +54,9 @@ _uregrw(Regs *regs, char *name, u64int *u, int isr)
case 'X':
*u = mach->swap4(*(u32int*)ureg);
return 0;
+ case 'Y':
+ *u = mach->swap8(*(u64int*)ureg);
+ return 0;
}
}