Go to file
pooka 082d249a16 Allow for arbitrary MI scheduler implementations.
A concrete result is enabling unpatched libpthread to run on the
rumprun stacks (e.g. Xen and bare metal) with a non-NetBSD scheduler.
Those schedulers hook into the existing _lwp_frobnitz() NetBSD syscall
interfaces (well, "syscall" interfaces in that scenario ;)

More specifically about the change itself:

1) instead of calling _lwp_makecontext() followed by _lwp_create()
   and passing the entry point in ucontext_t (MD) through the calls, roll
   the calls into pthread__makelwp() and allow alternate implementations
   for that MI interface.

2) allow compile-time overriding of __lwp_gettcb_fast() or
   __lwp_getprivate_fast, which are inline and leak MD scheduler/thread
   details into libpthread


Additionally, two small nits:

I)  define LIB=pthread before including mk.conf so that it's possible
    to test for LIB==pthread in mk.conf

II) make it possible to leave out pthread_cancelstub.c.  This is required
    by the current implementation of rumprun-posix (i.e. rumprun on
    POSIX hosts) due to symbol collisions.  It needs to be fixed properly
    some day, but for now allows an almost-correct libpthread to run.
    I am sure @justin will be happy to explain the details ;)


no change to NetBSD
tested: anita+atf
2014-12-16 20:05:54 +00:00
bin Use l_wmesg if the string is not empty. Don't bother checking l_name for 2014-11-15 01:58:34 +00:00
common add a new "fo_mmap" fileops method to allow use of arbitrary uvm_objects for 2014-12-14 23:48:58 +00:00
compat Add RISC-V support 2014-09-19 17:38:46 +00:00
crypto set up the netpgp lib directory hierarchy a bit more logically 2014-12-05 04:52:01 +00:00
dist/pf
distrib fix image building: 2014-12-14 00:28:46 +00:00
doc mdocml-1.13.2 out. 2014-12-14 16:05:29 +00:00
etc build ALLWINNER_A80 kernel 2014-12-14 18:12:55 +00:00
external switch over to the separate glu sources. 2014-12-16 06:10:12 +00:00
extsrc
games PR/49451 - Ben Gergely -- add missing attribution 2014-12-05 23:21:23 +00:00
gnu Array can't be null. 2014-11-15 02:01:27 +00:00
include Create the stpncpy() inline only when GCC>=4.8 || clang 2014-11-29 13:23:48 +00:00
lib Allow for arbitrary MI scheduler implementations. 2014-12-16 20:05:54 +00:00
libexec fix powerpc TLS problems by removing the hacks for PPC EABI. 2014-12-14 23:49:17 +00:00
regress Replace manual realdepend dependency with DPSRCS. 2014-09-19 21:35:42 +00:00
rescue Remove rtsol(8) and rtsold(8) as their functionality is in dhcpcd(8). 2014-09-11 13:10:03 +00:00
sbin fix possibly uninitialized variable. 2014-12-14 23:27:14 +00:00
share add X11SRCDIR entries for the new separated mesa components. 2014-12-16 06:04:10 +00:00
sys workaround bin/49481 2014-12-16 15:33:22 +00:00
tests Fix LDADD.t_compat 2014-12-08 07:34:31 +00:00
tools build genassym for TOOLS_BUILDRUMP 2014-12-05 01:50:47 +00:00
usr.bin Fix various security related issues: 2014-12-16 19:30:24 +00:00
usr.sbin add powerpc variants to the list of potentially obsolete modules to check 2014-12-16 05:30:40 +00:00
x11
build.sh Add a new build make variable, CONFIGOPTS, which is passed to config(1) 2014-11-30 15:53:29 +00:00
BUILDING regen 2014-11-30 15:54:34 +00:00
Makefile iso -> images 2014-11-05 08:19:17 +00:00
Makefile.inc
UPDATING Fix typo. 2014-10-27 11:21:28 +00:00