This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]


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.

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,

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, 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 Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]