diff options
author | xtraeme <xtraeme> | 2005-08-15 01:14:05 +0000 |
---|---|---|
committer | xtraeme <xtraeme> | 2005-08-15 01:14:05 +0000 |
commit | 9828c9a9a2022bd03e101ee74bdbd694214531a5 (patch) | |
tree | ea7d72fc2616cf36e686b53d2cc30139a44f4407 /devel | |
parent | 1c2006b1eb9b10ce74d9cd959712886f8d61a4a0 (diff) | |
download | pkgsrc-9828c9a9a2022bd03e101ee74bdbd694214531a5.tar.gz |
Update to 2.0
New in 2.0:
* Use ucontext.h provided functions for thread creation and switching.
In case those are not available use sigaltstack for thread creation
and sigsetjmp/siglongjump for thread switching, and if sigaltstack
doesn't exist fall back on the old process.S assembly code.
* Simplified pthread support a bit, now it builds and runs on cygwin.
* RPM .spec file fix to allow non-root users to build (Matthew Rich).
* Included AIX process.S assembly, since I don't know the right ifdefs,
it isn't actually part of process.S yet.
* This library is binary compatible with previous releases. But some of
the prototypes of callback functions got cleaned up a bit so that
building against this version of LWP will give some trivially fixable
compile warnings or errors.
New in 1.13:
* Stack switching code for AMD64 processors (Brett Lymn).
Diffstat (limited to 'devel')
-rw-r--r-- | devel/lwp/Makefile | 7 | ||||
-rw-r--r-- | devel/lwp/distinfo | 9 | ||||
-rw-r--r-- | devel/lwp/patches/patch-aa | 89 |
3 files changed, 7 insertions, 98 deletions
diff --git a/devel/lwp/Makefile b/devel/lwp/Makefile index 957894d090d..d15caf895dc 100644 --- a/devel/lwp/Makefile +++ b/devel/lwp/Makefile @@ -1,10 +1,9 @@ -# $NetBSD: Makefile,v 1.23 2005/04/11 21:45:28 tv Exp $ +# $NetBSD: Makefile,v 1.24 2005/08/15 01:14:05 xtraeme Exp $ # -DISTNAME= lwp-1.12 +DISTNAME= lwp-2.0 CATEGORIES= devel -MASTER_SITES= ftp://ftp.coda.cs.cmu.edu/pub/lwp/src/ \ - ftp://ftp.wu-wien.ac.at/pub/systems/coda/src/ +MASTER_SITES= http://www.coda.cs.cmu.edu/pub/lwp/src/ MAINTAINER= phil@cs.wwu.edu HOMEPAGE= http://www.coda.cs.cmu.edu/ diff --git a/devel/lwp/distinfo b/devel/lwp/distinfo index 9111ba09736..dbcbd200b4f 100644 --- a/devel/lwp/distinfo +++ b/devel/lwp/distinfo @@ -1,6 +1,5 @@ -$NetBSD: distinfo,v 1.9 2005/02/23 22:24:21 agc Exp $ +$NetBSD: distinfo,v 1.10 2005/08/15 01:14:05 xtraeme Exp $ -SHA1 (lwp-1.12.tar.gz) = 8c58b5c8d90f40254667360cb4b4dcec1aec5f15 -RMD160 (lwp-1.12.tar.gz) = 2eab09e2adf8c7d3ecea7f827d1f6f4828880056 -Size (lwp-1.12.tar.gz) = 365064 bytes -SHA1 (patch-aa) = 7f4f9d0e895ffb93d01e4ff35f38400fd5ac714c +SHA1 (lwp-2.0.tar.gz) = 4188f5df42a9f879f67c9294ebf9bf59056a0e25 +RMD160 (lwp-2.0.tar.gz) = cf42e3324ed94fe67ae817281763eb1f2f475935 +Size (lwp-2.0.tar.gz) = 362141 bytes diff --git a/devel/lwp/patches/patch-aa b/devel/lwp/patches/patch-aa deleted file mode 100644 index 922859d1d11..00000000000 --- a/devel/lwp/patches/patch-aa +++ /dev/null @@ -1,89 +0,0 @@ -$NetBSD: patch-aa,v 1.3 2004/12/04 11:54:54 blymn Exp $ - ---- src/process.S.orig 2001-10-05 06:44:08.000000000 +0930 -+++ src/process.S -@@ -400,7 +400,83 @@ returnto: - .end returnto - #endif /* mips */ - --#ifdef i386 -+#if defined(__amd64) -+ -+#include <machine/asm.h> -+ -+/* -+ savecontext(f, area1, newsp) -+ int (*f)(); -+ struct savearea *area1; -+ char *newsp; -+ -+ f will be in %rdi -+ *area1 will be in %rsi -+ *newsp will be in %rdx -+*/ -+ -+ .text -+ENTRY(savecontext) -+ pushq %rsp -+ pushq %rax -+ pushq %rcx -+ pushq %rdx -+ pushq %rbx -+ pushq %rbp -+ pushq %rsi -+ pushq %rdi -+ pushq %r8 -+ pushq %r9 -+ pushq %r10 -+ pushq %r11 -+ pushq %r12 -+ pushq %r13 -+ pushq %r14 -+ pushq %r15 -+ -+ movq %rsp, (%rsi) /* Store sp in savearea. */ -+ -+ cmpq $0, %rdx /* Check if newsp is NULL */ -+ je L1 /* Don't change the stack if newsp is zero. */ -+ movq %rdx, %rsp -+ -+L1: xorq %rbp, %rbp /* clear stackframe */ -+ call *%rdi /* f(); */ -+ -+ /* Trigger a segfault, we shouldn't get here anyway. */ -+ movq $0, 0 -+ -+/* -+ returnto(area2) -+ struct savearea *area2; -+ -+ area2 will be in %rdi -+*/ -+#define area2 8 -+ -+ENTRY(returnto) -+ mov (%rdi), %rsp /* Restore stack pointer. */ -+ popq %r15 -+ popq %r14 -+ popq %r13 -+ popq %r12 -+ popq %r11 -+ popq %r10 -+ popq %r9 -+ popq %r8 -+ popq %rdi -+ popq %rsi -+ popq %rbp -+ popq %rbx -+ popq %rdx -+ popq %rcx -+ popq %rax -+ popq %rsp -+ ret -+ -+#endif /* amd64 */ -+ -+#if defined(i386) - - /* - savecontext(f, area1, newsp) |