The branch main has been updated by trasz:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=a03d4d73e4c7c73447263294df6ebd1791ab01f2

commit a03d4d73e4c7c73447263294df6ebd1791ab01f2
Author:     Edward Tomasz Napierala <[email protected]>
AuthorDate: 2021-10-17 11:52:39 +0000
Commit:     Edward Tomasz Napierala <[email protected]>
CommitDate: 2021-10-17 11:53:16 +0000

    linux: Improve debugging for PTRACE_GETREGSET
    
    It's triggered by gdb(1).
    
    Sponsored By:   EPSRC
    Differential Revision:  https://reviews.freebsd.org/D32456
---
 sys/amd64/linux/linux_ptrace.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/sys/amd64/linux/linux_ptrace.c b/sys/amd64/linux/linux_ptrace.c
index 39587ec9b2ad..370b1c818b6f 100644
--- a/sys/amd64/linux/linux_ptrace.c
+++ b/sys/amd64/linux/linux_ptrace.c
@@ -84,7 +84,8 @@ __FBSDID("$FreeBSD$");
 #define        LINUX_PTRACE_O_EXITKILL         1048576
 #define        LINUX_PTRACE_O_SUSPEND_SECCOMP  2097152
 
-#define        LINUX_NT_PRSTATUS               1
+#define        LINUX_NT_PRSTATUS               0x1
+#define        LINUX_NT_X86_XSTATE             0x202
 
 #define        LINUX_PTRACE_O_MASK     (LINUX_PTRACE_O_TRACESYSGOOD |  \
     LINUX_PTRACE_O_TRACEFORK | LINUX_PTRACE_O_TRACEVFORK |     \
@@ -540,8 +541,12 @@ linux_ptrace_getregset(struct thread *td, pid_t pid, 
l_ulong addr, l_ulong data)
        switch (addr) {
        case LINUX_NT_PRSTATUS:
                return (linux_ptrace_getregset_prstatus(td, pid, data));
+       case LINUX_NT_X86_XSTATE:
+               linux_msg(td, "PTRAGE_GETREGSET NT_X86_XSTATE not implemented; "
+                   "returning EINVAL");
+               return (EINVAL);
        default:
-               linux_msg(td, "PTRACE_GETREGSET request %ld not implemented; "
+               linux_msg(td, "PTRACE_GETREGSET request %#lx not implemented; "
                    "returning EINVAL", addr);
                return (EINVAL);
        }

Reply via email to