From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.10) Gecko/20050720 Fedora/1.0.6-1.1.fc3 Firefox/1.0.6 Description of problem: gcc was invoked with the flags -Wno-ctor-dtor-privacy -m64 -w -pipe -fmessage-length=0 -O2 and generated bad exception handling code. Leaving off the -O2 results in correct code. When the bad code is run and an exception is thrown, the code crashed as a result of calling free() with a bad value (0x01). The bad assembler with a detailed analysis will be attached directly. Version-Release number of selected component (if applicable): gcc-3.4.3-9.EL4 How reproducible: Always Steps to Reproduce: At this stage, we don't have a useful repro that we can ship (cutting down the ~1,000,000 lines to something we can send will be a nontrivial task). Additional info:
Created attachment 117862 [details] Some notes showing the bad assembler.
I tried to reproduce this with a simple testcase, but did not manage to do that. So a self-contained testcase is a must before we can make any progress on this.
Well, I've spent all day creating a stand-alone repro. The code I've got (attached) isn't an executable, but if you examine the assembler it has the same fault. The place to look for is the call to the C1::C1(...) constructor. Tom.
Created attachment 117898 [details] A valid c++ source file that yields incorrect assembler.
Fixed in upstream CVS: http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01295.html http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01826.html http://gcc.gnu.org/ml/gcc-cvs/2005-09/msg00036.html
Brilliant. Is there an ETA for the patches to hit EL4? Tom
In RHEL4 U3.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2006-0125.html