Module Name: src Committed By: martin Date: Sun Oct 18 18:42:11 UTC 2020
Modified Files: src/sys/arch/amd64/amd64 [netbsd-9]: process_machdep.c src/sys/arch/i386/i386 [netbsd-9]: process_machdep.c src/sys/arch/powerpc/powerpc [netbsd-9]: process_machdep.c src/sys/arch/sh3/include [netbsd-9]: ptrace.h src/sys/arch/sh3/sh3 [netbsd-9]: process_machdep.c src/sys/arch/x86/x86 [netbsd-9]: fpu.c src/sys/kern [netbsd-9]: sys_ptrace_common.c src/sys/sys [netbsd-9]: ptrace.h Log Message: Pull up following revision(s) (requested by kamil in ticket #1117): sys/arch/sh3/include/ptrace.h: revision 1.19 sys/arch/amd64/amd64/process_machdep.c: revision 1.48 sys/arch/sh3/sh3/process_machdep.c: revision 1.23 sys/arch/sh3/sh3/process_machdep.c: revision 1.24 sys/arch/i386/i386/process_machdep.c: revision 1.95 sys/arch/x86/x86/fpu.c (apply patch) sys/kern/sys_ptrace_common.c: revision 1.84 sys/arch/powerpc/powerpc/process_machdep.c: revision 1.40 sys/sys/ptrace.h: revision 1.71 sys/arch/powerpc/powerpc/process_machdep.c: revision 1.41 (all via patch, adapted) Fix s87_tw reconstruction to correctly indicate register states Fix the code reconstructing s87_tw (full tag word) from fx_sw (abridged tag word) to correctly represent all register states. The previous code only distinguished between empty/non-empty registers, and assigned 'regular value' to all non-empty registers. The new code explicitly distinguishes the two other tag word values: empty and special. Fix the machine-dependent ptrace register-related requests (e.g. PT_GETXMMREGS, PT_GETXSTATE on x86) to correctly respect the LWP number passed as the data argument. Before this change, these requests did not operate on the requested LWP of a multithreaded program. This change required moving ptrace_update_lwp() out of unit scope, and changing ptrace_machdep_dorequest() function to take a pointer to pointer as the second argument, consistently with ptrace_regs(). I am planning to extend the ATF ptrace() register tests in the future to check for regressions in multithreaded programs, as time permits. Reviewed by kamil. Add missing 'error' declaration To generate a diff of this commit: cvs rdiff -u -r1.43.2.1 -r1.43.2.2 src/sys/arch/amd64/amd64/process_machdep.c cvs rdiff -u -r1.93.2.1 -r1.93.2.2 src/sys/arch/i386/i386/process_machdep.c cvs rdiff -u -r1.38 -r1.38.18.1 \ src/sys/arch/powerpc/powerpc/process_machdep.c cvs rdiff -u -r1.15 -r1.15.2.1 src/sys/arch/sh3/include/ptrace.h cvs rdiff -u -r1.21 -r1.21.20.1 src/sys/arch/sh3/sh3/process_machdep.c cvs rdiff -u -r1.55 -r1.55.2.1 src/sys/arch/x86/x86/fpu.c cvs rdiff -u -r1.58.2.12 -r1.58.2.13 src/sys/kern/sys_ptrace_common.c cvs rdiff -u -r1.65.2.1 -r1.65.2.2 src/sys/sys/ptrace.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.