Bug 166237 - gcc generates bad exception handling code
gcc generates bad exception handling code
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: gcc (Show other bugs)
x86_64 Linux
medium Severity high
: ---
: ---
Assigned To: Jakub Jelinek
Depends On:
Blocks: 168429
  Show dependency treegraph
Reported: 2005-08-18 03:38 EDT by Dr Thomas Conway
Modified: 2007-11-30 17:07 EST (History)
0 users

See Also:
Fixed In Version: RHBA-2006-0125
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-03-07 13:45:41 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Some notes showing the bad assembler. (1.63 KB, text/plain)
2005-08-18 03:39 EDT, Dr Thomas Conway
no flags Details
A valid c++ source file that yields incorrect assembler. (1.50 KB, text/plain)
2005-08-19 01:57 EDT, Dr Thomas Conway
no flags Details

External Trackers
Tracker ID Priority Status Summary Last Updated
GNU Compiler Collection 23478 None None None Never

  None (edit)
Description Dr Thomas Conway 2005-08-18 03:38:27 EDT
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):

How reproducible:

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:
Comment 1 Dr Thomas Conway 2005-08-18 03:39:54 EDT
Created attachment 117862 [details]
Some notes showing the bad assembler.
Comment 2 Jakub Jelinek 2005-08-18 08:31:11 EDT
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.
Comment 3 Dr Thomas Conway 2005-08-19 01:56:50 EDT
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.

Comment 4 Dr Thomas Conway 2005-08-19 01:57:48 EDT
Created attachment 117898 [details]
A valid c++ source file that yields incorrect assembler.
Comment 6 Dr Thomas Conway 2005-09-05 18:57:18 EDT
Brilliant. Is there an ETA for the patches to hit EL4?

Comment 7 Jakub Jelinek 2005-09-06 06:41:40 EDT
In RHEL4 U3.
Comment 13 Red Hat Bugzilla 2006-03-07 13:45:41 EST
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.


Note You need to log in before you can comment on or make changes to this bug.