From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 123845 invoked by alias); 23 Jul 2015 19:29:31 -0000 Mailing-List: contact cygwin-announce-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-announce-owner@cygwin.com Reply-To: The Cygwin Mailing List Mail-Followup-To: cygwin-announce@cygwin.com Received: (qmail 101027 invoked by uid 89); 23 Jul 2015 19:25:24 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.7 required=5.0 tests=AWL,BAYES_50,KAM_ASCII_DIVIDERS,KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 X-HELO: calimero.vinschen.de Date: Thu, 23 Jul 2015 19:29:00 -0000 From: Corinna Vinschen To: cygwin-announce@cygwin.com Subject: TEST RELEASE: Cygwin 2.2.0-0.3 Message-ID: <20150723192521.GA21004@calimero.vinschen.de> Mail-Followup-To: cygwin-announce@cygwin.com MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) X-SW-Source: 2015-07/txt/msg00045.txt.bz2 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