Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/arch/powerpc

Module Name:    src
Committed By:   rin
Date:           Sun Jun 21 00:40:00 UTC 2020

Modified Files:
        src/sys/arch/powerpc/include: mcontext.h ptrace.h types.h
        src/sys/arch/powerpc/powerpc: sig_machdep.c

Log Message:
Fix inconsistency b/w kernel and userland recognitions of TLS, as well as
inconsistency whether it is biased or not in kernel.

- Obsolete __lwp_settcb() in order to let kernel know new TLS address via
  _lwp_setprivate(2). Alternatively, we can call _lwp_setprivate(2) within
  __lwp_settcb() like mips, but it is just double handling; we adjust %r2
  appropriately in _lwp_setprivate(2) via cpu_lwp_setprivate().

- Make sure that, like other ports, l_private represents address of tcb,
  not biased one as in %r2. This guarantees that the returned values from
  _lwp_getprivate(2) and __lwp_getprivate_fast() are always same. Also,
  we can obsolete PTRACE_LWP_GETPRIVATE() macro.

Now, *_pl_private tests in tests/lib/libc/sys successfully pass, while
no other tests become newly falling.

To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/powerpc/include/mcontext.h
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/powerpc/include/ptrace.h
cvs rdiff -u -r1.62 -r1.63 src/sys/arch/powerpc/include/types.h
cvs rdiff -u -r1.49 -r1.50 src/sys/arch/powerpc/powerpc/sig_machdep.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Home | Main Index | Thread Index | Old Index