git: 9front

Download patch

ref: 2a5861c59427e9e2e943bf70e0cd655bde9f9d39
parent: 7dc1d531cfb71f5513e2541d47c40e7e15e06fc3
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sat Jul 8 06:40:09 EDT 2023

libmach: open /proc/n/kfpregs when kernel debugging

--- a/sys/src/libmach/map.c
+++ b/sys/src/libmach/map.c
@@ -80,7 +80,7 @@
 Map*
 attachproc(int pid, int kflag, int corefd, Fhdr *fp)
 {
-	char buf[64], *regs;
+	char buf[64], *regs, *fpregs;
 	int fd;
 	Map *map;
 	uvlong n;
@@ -91,9 +91,11 @@
 		return 0;
 	if(kflag) {
 		regs = "kregs";
+		fpregs = "kfpregs";
 		mode = OREAD;
 	} else {
 		regs = "regs";
+		fpregs = "fpregs";
 		mode = ORDWR;
 	}
 	if (mach->regsize) {
@@ -106,7 +108,7 @@
 		setmap(map, fd, 0, mach->regsize, 0, "regs");
 	}
 	if (mach->fpregsize) {
-		sprint(buf, "/proc/%d/fpregs", pid);
+		sprint(buf, "/proc/%d/%s", pid, fpregs);
 		fd = open(buf, mode);
 		if(fd < 0)
 			fd = open("/dev/zero", OREAD);
--