Web lists-archives.com

Re: g++ std::map initializing raises segmentation fault.




On 7/7/2017 11:12 AM, Ken Brown wrote:
On 7/6/2017 8:26 AM, Masamichi Hosoda wrote:
Hello,

On Cygwin 2.8.1 x86_64, I've found that g++ std:map initializing
may raise segmentation fault.
The binary compiled with cygwin-devel-2.8.0-1
does not raise segmentation fault
even if on Cygwin 2.8.1 x86_64 environments.

So I suspect cygwin-devel-2.8.1-1 is the cause.

Here's sample code for reproduce.

```
// foo.cc
// g++ -std=c++11 foo.cc

#include<iostream>
#include<map>

std::map<int, int> m
{
   { 1, 1},
   { 2, 2}
};

int main ()
{
   std::cout << "Hello World!" << std::endl;
}
```

I've reproduced it on both Windows 7 64 bit and Windows 10 64 bit.

```
$ ./a
Segmentation fault (core dumped)

I've just checked that the problem occurs with the 2017-06-20 snapshot but not with the 2017-06-06 snapshot. I don't have time right now to do a further bisection, but I can probably do it later today or over the weekend if no one beats me to it.

I did the bisection:

6a6c1c52e6bfea85beb06ea60417b90ae3c6857c is the first bad commit
commit 6a6c1c52e6bfea85beb06ea60417b90ae3c6857c
Author: Yaakov Selkowitz <yselkowi@xxxxxxxxxx>
Date:   Tue Jun 13 14:58:33 2017 -0500

    Feature test macros overhaul: Cygwin signal.h

    This should match newlib's <sys/signal.h>.

Ken

--
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