shithub: riscv

Download patch

ref: d035ef2419f965e3a49e54ca9b706e4a5f14d827
parent: 02b0b4dfb5a5bcc8971d5c15b2e9761b3fb59508
author: cinap_lenrek <[email protected]>
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);