* [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.2.0-0.2
@ 2015-07-22 15:28 Corinna Vinschen
2015-07-22 15:33 ` Eliot Moss
0 siblings, 1 reply; 4+ messages in thread
From: Corinna Vinschen @ 2015-07-22 15:28 UTC (permalink / raw)
To: cygwin
Hi Cygwin friends and users,
I released a new TEST version of Cygwin. The version number is 2.2.0-0.2.
This test release needs some more good old-fashioned testing.
While the 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 testcase tst-makecontext3.c.
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
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.2.0-0.2
2015-07-22 15:28 [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.2.0-0.2 Corinna Vinschen
@ 2015-07-22 15:33 ` Eliot Moss
2015-07-22 16:06 ` Corinna Vinschen
0 siblings, 1 reply; 4+ messages in thread
From: Eliot Moss @ 2015-07-22 15:33 UTC (permalink / raw)
To: cygwin
On 7/22/2015 11:14 AM, Corinna Vinschen wrote:
> 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.
So I am wondering if signal handlers now have access to the full context,
including register values. There was at one time a desire to port Jikes RVM,
a research Java Virtual Machine, to cygwin, to get it running under Windows.
Lack of ability to obtain and modify the ucontext in a signal handler was
the sticking point. (It was needed in the case of, say, a null pointer
exception, to fake up the throwing of the Java exception when the signal
handler returns.)
Regards -- Eliot Moss
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.2.0-0.2
2015-07-22 15:33 ` Eliot Moss
@ 2015-07-22 16:06 ` Corinna Vinschen
2015-07-22 17:21 ` Eliot Moss
0 siblings, 1 reply; 4+ messages in thread
From: Corinna Vinschen @ 2015-07-22 16:06 UTC (permalink / raw)
To: cygwin
[-- Attachment #1: Type: text/plain, Size: 1593 bytes --]
On Jul 22 11:33, Eliot Moss wrote:
> On 7/22/2015 11:14 AM, Corinna Vinschen wrote:
>
> > 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.
>
> So I am wondering if signal handlers now have access to the full context,
> including register values. There was at one time a desire to port Jikes RVM,
> a research Java Virtual Machine, to cygwin, to get it running under Windows.
> Lack of ability to obtain and modify the ucontext in a signal handler was
> the sticking point. (It was needed in the case of, say, a null pointer
> exception, to fake up the throwing of the Java exception when the signal
> handler returns.)
The full ucontext is available to signal handlers since Cygwin 2.0.4 if
sigaction is called with the SA_SIGINFO flag set, courtesy of Jon
Turney's efforts.
New in 2.2.0 is only the matching implementation of the aforementioned
functions.
Please note that the ucontext_t and mcontext_t types are platform
specific. The mcontext_t type reflects the Windows CONTEXT type more
than the Linux mcontext_t type.
For the ucontext_t type see /usr/include/sys/ucontext.h
For the mcontext_t type see /usr/include/cygwin/signal.h
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.2.0-0.2
2015-07-22 16:06 ` Corinna Vinschen
@ 2015-07-22 17:21 ` Eliot Moss
0 siblings, 0 replies; 4+ messages in thread
From: Eliot Moss @ 2015-07-22 17:21 UTC (permalink / raw)
To: cygwin
On 7/22/2015 12:06 PM, Corinna Vinschen wrote:
> On Jul 22 11:33, Eliot Moss wrote:
>> On 7/22/2015 11:14 AM, Corinna Vinschen wrote:
>>
>>> 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.
>>
>> So I am wondering if signal handlers now have access to the full context,
>> including register values. There was at one time a desire to port Jikes RVM,
>> a research Java Virtual Machine, to cygwin, to get it running under Windows.
>> Lack of ability to obtain and modify the ucontext in a signal handler was
>> the sticking point. (It was needed in the case of, say, a null pointer
>> exception, to fake up the throwing of the Java exception when the signal
>> handler returns.)
>
> The full ucontext is available to signal handlers since Cygwin 2.0.4 if
> sigaction is called with the SA_SIGINFO flag set, courtesy of Jon
> Turney's efforts.
>
> New in 2.2.0 is only the matching implementation of the aforementioned
> functions.
>
> Please note that the ucontext_t and mcontext_t types are platform
> specific. The mcontext_t type reflects the Windows CONTEXT type more
> than the Linux mcontext_t type.
>
> For the ucontext_t type see /usr/include/sys/ucontext.h
> For the mcontext_t type see /usr/include/cygwin/signal.h
Thanks! Helpful to know! Eliot
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-07-22 17:21 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-22 15:28 [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.2.0-0.2 Corinna Vinschen
2015-07-22 15:33 ` Eliot Moss
2015-07-22 16:06 ` Corinna Vinschen
2015-07-22 17:21 ` Eliot Moss
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).