1. Enable kqueue support (you still need to st_set_eventsys(ST_EVENTSYS_ALT)
2. Add a patch to resolve stack issues with varargs users on AMD64 3. Take over maintainerhip 4. Bump PORTREVISION Approved by: (3) lippe (previous maintainer)
This commit is contained in:
parent
c5fc7b300c
commit
3375afb87a
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=374838
3 changed files with 25 additions and 3 deletions
|
@ -3,11 +3,11 @@
|
|||
|
||||
PORTNAME= st
|
||||
PORTVERSION= 1.9
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= devel
|
||||
MASTER_SITES= SF/${PORTNAME}ate-threads/${PORTNAME}ate-threads/${PORTVERSION}
|
||||
|
||||
MAINTAINER= lippe@FreeBSD.org
|
||||
MAINTAINER= tobez@FreeBSD.org
|
||||
COMMENT= State Threads Library for Internet Applications
|
||||
|
||||
USES= uidfix
|
||||
|
|
|
@ -9,6 +9,6 @@ LIB= st
|
|||
NO_PROFILE= yes
|
||||
|
||||
SRCS= io.c key.c sched.c stk.c sync.c event.c
|
||||
CFLAGS+= -DFREEBSD
|
||||
CFLAGS+= -DFREEBSD -DMD_HAVE_KQUEUE
|
||||
|
||||
.include <bsd.lib.mk>
|
||||
|
|
22
devel/st/files/patch-md.h
Normal file
22
devel/st/files/patch-md.h
Normal file
|
@ -0,0 +1,22 @@
|
|||
--- md.h 2009-10-01 20:46:43.000000000 +0200
|
||||
+++ md.h 2014-12-16 22:52:34.000000000 +0100
|
||||
@@ -161,6 +161,19 @@
|
||||
#define MD_JB_SP 34
|
||||
#elif defined(__amd64__)
|
||||
#define MD_JB_SP 2
|
||||
+/*
|
||||
+ * The following comment is taken from src/lib/libc/amd64/gen/makecontext.c
|
||||
+ * It explains why we specifically break the alignment to 64 byte boundary
|
||||
+ * that is unconditionally enforced by sched.c, by setting MD_STACK_PAD_SIZE
|
||||
+ * to this funky value.
|
||||
+ * Without this, anything using va_start() & friends fails unpredictably.
|
||||
+ */
|
||||
+ /*
|
||||
+ * Account for arguments on stack and do the funky C entry alignment.
|
||||
+ * This means that we need an 8-byte-odd alignment since the ABI expects
|
||||
+ * the return address to be pushed, thus breaking the 16 byte alignment.
|
||||
+ */
|
||||
+#define MD_STACK_PAD_SIZE 8
|
||||
#else
|
||||
#error Unknown CPU architecture
|
||||
#endif
|
Loading…
Reference in a new issue