svn commit: r374838 - in head/devel/st: . files
Anton Berezin
tobez at FreeBSD.org
Wed Dec 17 11:15:15 UTC 2014
Author: tobez
Date: Wed Dec 17 11:15:13 2014
New Revision: 374838
URL: https://svnweb.freebsd.org/changeset/ports/374838
QAT: https://qat.redports.org/buildarchive/r374838/
Log:
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)
Added:
head/devel/st/files/patch-md.h (contents, props changed)
Modified:
head/devel/st/Makefile
head/devel/st/files/Makefile.main
Modified: head/devel/st/Makefile
==============================================================================
--- head/devel/st/Makefile Wed Dec 17 09:40:04 2014 (r374837)
+++ head/devel/st/Makefile Wed Dec 17 11:15:13 2014 (r374838)
@@ -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 at FreeBSD.org
+MAINTAINER= tobez at FreeBSD.org
COMMENT= State Threads Library for Internet Applications
USES= uidfix
Modified: head/devel/st/files/Makefile.main
==============================================================================
--- head/devel/st/files/Makefile.main Wed Dec 17 09:40:04 2014 (r374837)
+++ head/devel/st/files/Makefile.main Wed Dec 17 11:15:13 2014 (r374838)
@@ -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>
Added: head/devel/st/files/patch-md.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/st/files/patch-md.h Wed Dec 17 11:15:13 2014 (r374838)
@@ -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
More information about the svn-ports-head
mailing list