| delorie.com/archives/browse.cgi | search |
| X-Recipient: | archive-cygwin AT delorie DOT com |
| X-SWARE-Spam-Status: | No, hits=-0.2 required=5.0 tests=AWL,BAYES_50,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD,TW_YG,UNPARSEABLE_RELAY |
| X-Spam-Check-By: | sourceware.org |
| Message-ID: | <4E7CE6AF.7010308@t-online.de> |
| Date: | Fri, 23 Sep 2011 22:06:07 +0200 |
| From: | Christian Franke <Christian DOT Franke AT t-online DOT de> |
| User-Agent: | Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14 |
| MIME-Version: | 1.0 |
| To: | cygwin AT cygwin DOT com |
| Subject: | gcc4: libstdc++6-4.5.3-2 is probably not backwards compatible |
| X-IsSubscribed: | yes |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| List-Id: | <cygwin.cygwin.com> |
| List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
| List-Archive: | <http://sourceware.org/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
| Sender: | cygwin-owner AT cygwin DOT com |
| Mail-Followup-To: | cygwin AT cygwin DOT com |
| Delivered-To: | mailing list cygwin AT cygwin DOT com |
--------------050102050206090308050005
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
ddrescue segfaults in option parsing after gcc was updated from 4.3.4-4
to 4.5.3-2.
(ddrescue package was build with g++ 4.3.4-3)
I tracked down the problem to a segfault in vector< string > destructor,
see attached testcase.
1. Compile and run with g++ 4.3.4, use -O2 to enable inline expansion:
$ g++ -O2 -o testvector testvector.cpp
$ cygcheck -f /bin/cygstdc++-6.dll
libstdc++6-4.3.4-4
$ ./testvector
vector created (12)
vector destroyed
2. Update libstdc++ and rerun:
$ cygcheck -f /bin/cygstdc++-6.dll
libstdc++6-4.5.3-2
$ ./testvector
vector created (12)
Aborted (core dumped)
Recompiling with new g++ fixes the problem.
Old inline code is probably no longer compatible with code in new
cygstdc++-6.dll.
--
Regards,
Christian Franke
--------------050102050206090308050005
Content-Type: text/plain;
name="testvector.cc"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="testvector.cc"
#include <cstdio>
#include <string>
#include <vector>
int main()
{
{
std::vector<std::string> v;
v.resize(1);
printf("vector created (%d)\n", (int)sizeof(v)); fflush(stdout);
}
printf("vector destroyed\n"); fflush(stdout);
return 0;
}
--------------050102050206090308050005
Content-Type: text/plain; charset=us-ascii
--
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
--------------050102050206090308050005--
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |