This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
Re: Cyg32 on Win64 fails with stack-protector
- From: Bill Zissimopoulos <billziss at navimatics dot com>
- To: "cygwin-developers at cygwin dot com" <cygwin-developers at cygwin dot com>
- Cc: Ben RUBSON <ben dot rubson at gmail dot com>
- Date: Wed, 30 May 2018 19:29:18 +0000
- Subject: Re: Cyg32 on Win64 fails with stack-protector
- References: <8A9D918F-F233-48DA-9B98-B87D7B188C21@gmail.com> <20180529165958.GK3501@calimero.vinschen.de>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
Corinna, thanks for your response.
There appear to be some SSP related commits in the discussed time frame.
For example:
https://sourceware.org/git/?p=newlib-cygwin.git;a=commitdiff;h=0a5dfdbd1ba3
663a54fa1a7de1a6c4a0a3316a6e
Another possibility would be a change in the gcc default options between
Cygwin 2.9 and Cygwin 2.10. I do not know if this is possible, but perhaps
gcc in 2.9 compiles with -fstack-protector disabled by default and gcc in
2.10 compiles with it enabled by default?
Bill
On 5/29/18, 9:59 AM, Corinna Vinschen wrote:
>Hi Ben,
>
>On Apr 27 19:12, Ben RUBSON wrote:
>> Hi,
>>
>> We are facing an issue with Cygwin 2.10 32 bits running on Windows 64
>>bits.
>>
>> Issue was found running EncFS FUSE FS using WinFsp.
>>
>> When forking, and calling StartServiceCtrlDispatcher, program fails with
>> 0xC0000028 / STATUS_BAD_STACK.
>>
>> Testing several Cygwin versions reveals that issue was introduced
>>between
>> 2017-11-14 and 2017-12-01.
>> And Bill (WinFsp author) found that compiling with -fno-stack-protector
>> works around the issue.
>>
>> There you can then find the full story and Bill's nice investigation :
>> https://github.com/billziss-gh/winfsp/issues/161
>>
>> Could it be possible something went wrong with Cygwin ?
>>
>> Thank you very much for your support !
>
>Even with Bill's additionl info I have no idea what change in the
>above time frame might be the culprit, especially since no change
>has been made to stack handling.
>
>I suggest to build your own Cygwin and bisect it. Also, you
>may want to run your stuff under GDB and set breakpoints to, e.g.,
>Cygwin's exception::handle method. Make sure the cygwin1.dbg
>file can be found by GDB.
>
>
>HTH,
>Corinna
>
>--
>Corinna Vinschen Please, send mails regarding Cygwin to
>Cygwin Maintainer cygwin AT cygwin DOT com
>Red Hat