a091d823ad
1. fast simple type mutex. 2. __thread tls works. 3. asynchronous cancellation works ( using signal ). 4. thread synchronization is fully based on umtx, mainly, condition variable and other synchronization objects were rewritten by using umtx directly. those objects can be shared between processes via shared memory, it has to change ABI which does not happen yet. 5. default stack size is increased to 1M on 32 bits platform, 2M for 64 bits platform. As the result, some mysql super-smack benchmarks show performance is improved massivly. Okayed by: jeff, mtm, rwatson, scottl
36 lines
1.2 KiB
Makefile
36 lines
1.2 KiB
Makefile
# $FreeBSD$
|
|
#
|
|
# All library objects contain FreeBSD revision strings by default; they may be
|
|
# excluded as a space-saving measure. To produce a library that does
|
|
# not contain these strings, add -DSTRIP_FBSDID (see <sys/cdefs.h>) to CFLAGS
|
|
# below. Note, there are no IDs for syscall stubs whose sources are generated.
|
|
# To included legacy CSRG sccsid strings, add -DLIBC_SCCS and -DSYSLIBC_SCCS
|
|
# (for system call stubs) to CFLAGS below. -DSYSLIBC_SCCS affects just the
|
|
# system call stubs.
|
|
LIB=thr
|
|
SHLIB_MAJOR= 1
|
|
DEBUG_FLAGS=-g
|
|
CFLAGS+=-DPTHREAD_KERNEL
|
|
CFLAGS+=-I${.CURDIR}/../libc/include -I${.CURDIR}/thread \
|
|
-I${.CURDIR}/../../include
|
|
CFLAGS+=-I${.CURDIR}/arch/${MACHINE_ARCH}/include
|
|
CFLAGS+=-I${.CURDIR}/sys
|
|
CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf
|
|
CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf/${MACHINE_ARCH}
|
|
CFLAGS+=-Winline
|
|
|
|
# CFLAGS+=-DSYSTEM_SCOPE_ONLY
|
|
|
|
LDFLAGS= -Wl,--version-script=${.CURDIR}/pthread.map
|
|
|
|
# enable extra internal consistancy checks
|
|
CFLAGS+=-D_PTHREADS_INVARIANTS -Wall
|
|
|
|
PRECIOUSLIB=
|
|
|
|
.include "${.CURDIR}/arch/${MACHINE_ARCH}/Makefile.inc"
|
|
.include "${.CURDIR}/sys/Makefile.inc"
|
|
.include "${.CURDIR}/thread/Makefile.inc"
|
|
|
|
.include <bsd.lib.mk>
|