aboutsummaryrefslogtreecommitdiff
path: root/lib/libthr/support
diff options
context:
space:
mode:
authorDavid Xu <davidxu@FreeBSD.org>2005-04-23 02:48:59 +0000
committerDavid Xu <davidxu@FreeBSD.org>2005-04-23 02:48:59 +0000
commit80c9676e8bc11ab781b62952b406ca0aaa84f71d (patch)
treefc6ceaa51d3f3fe51b63513464e70773a113f55f /lib/libthr/support
parent40f2d4dafd9e7de12fb8ad73ba27a72dad593615 (diff)
downloadsrc-80c9676e8bc11ab781b62952b406ca0aaa84f71d.tar.gz
src-80c9676e8bc11ab781b62952b406ca0aaa84f71d.zip
Use thr_new syscall to create a new thread, obscure context operations
is no longer needed.
Notes
Notes: svn path=/head/; revision=145436
Diffstat (limited to 'lib/libthr/support')
-rw-r--r--lib/libthr/support/Makefile.inc22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/libthr/support/Makefile.inc b/lib/libthr/support/Makefile.inc
new file mode 100644
index 000000000000..bcf4393a2f59
--- /dev/null
+++ b/lib/libthr/support/Makefile.inc
@@ -0,0 +1,22 @@
+# $FreeBSD$
+
+.PATH: ${.CURDIR}/support ${.CURDIR}/../libc/gen ${.CURDIR}/../libc/string
+.PATH: ${.CURDIR}/../libc/${MACHINE_ARCH}/sys
+
+CFLAGS+= -I${.CURDIR}/../libc/${MACHINE_ARCH}
+
+SYSCALLS= thr_new
+
+SYSCALL_SRC= ${SYSCALLS:S/$/.S/}
+SYSCALL_OBJ= ${SYSCALLS:S/$/.So/}
+
+${SYSCALL_SRC}:
+ printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' > ${.TARGET}
+
+LIBC_OBJS=
+
+SOBJS+= thr_libc.So
+CLEANFILES+= ${SYSCALL_SRC} ${SYSCALL_OBJ} ${LIBC_OBJS}
+
+thr_libc.So: ${SYSCALL_OBJ} ${LIBC_OBJS}
+ ${CC} -fPIC -nostdlib -o ${.TARGET} -r ${.ALLSRC}