From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin-announce@cygwin.com
Subject: TEST RELEASE: Cygwin 2.2.0-0.3
Date: Thu, 23 Jul 2015 19:29:00 -0000 [thread overview]
Message-ID: <20150723192521.GA21004@calimero.vinschen.de> (raw)
Hi Cygwin friends and users,
I released a new TEST version of Cygwin. The version number is 2.2.0-0.3.
This test release needs some more good old-fashioned testing.
New, user-visible change:
- When started from a non-Cygwin process, check if $HOME starts with a
slash (absolute POSIX path). Otherwise ignore it.
Addresses: https://cygwin.com/ml/cygwin/2015-07/msg00344.html
There was also a bugfix in the trampoline function installed by
makecontext. On x86_64, the function missed to install shadow space for
the argument registers as required by the MS ABI. As a result, using
makecontext could suffer a buffer overflow. Thanks to Glibc's
tst-makecontext2 testcase.
On the plus side, with this patch, the entire glibc testsuite for
setcontext/makecontext now succeeds.
While the other new features in this release are only interesting to
developers again, there's an intrusive under-the-hood change which just
needs testing in as many scenarios as possible.
==================================== tl;dr ==================================
Details aside, the interesting thing here is plain and simple this:
Does your stuff still work as with 2.1.0? No regression?
============================================================================
The boring details:
The under-the-hood change is this: Certain functions in Cygwin were
using very big buffers (32K, 64K, and more) on the stack. While this
is not much of a problem with the normal stacksize of 2 Megs, it's
been a lot of stack pressure on an application-provided patch. Yada,
yada.
For devs only:
NEW: sigsetjmp and siglongjmp were only implemented as macros so far.
POSIX requires functions longjmp and siglongjmp to exist. 2.2.0-0.2
adds sigsetjmp and siglongjmp functions.
2.2.0 comes with four new functions: getcontext, setcontext,
makecontext and swapcontext.
My own testing included two very simple self-written STCs, as well
as the example code from http://linux.die.net/man/3/makecontext, as
well as the glibc testcases for setcontext and makecontext.
As with the sigaltstack stuff, I'd be grateful if curious developers
would give this implementation a test. If it doesn't work as desired,
please consider to create simple reproduces in plain C.
Discussing aspects of this implementation may be best handled on the
cygwin-developers mailing list or the #cygwin-developers IRC channel
on Freenode.
Have fun,
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
reply other threads:[~2015-07-23 19:29 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150723192521.GA21004@calimero.vinschen.de \
--to=corinna-cygwin@cygwin.com \
--cc=cygwin-announce@cygwin.com \
--cc=cygwin@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).