c++/6764: Throwing exception causes crash with '-O2 -fomit-frame-pointer'

pavenis@latnet.lv pavenis@latnet.lv
Wed May 22 02:16:00 GMT 2002


>Number:         6764
>Category:       c++
>Synopsis:       Throwing exception causes crash with '-O2 -fomit-frame-pointer'
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed May 22 02:16:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Andris Pavenis
>Release:        gcc-3.1 release
>Organization:
>Environment:
targets i686-pc-linux-gnu and i586-pc-msdosdjgpp
>Description:
Throwing exception in attached test example causes 
SIGABRT if example is compiled with options '-O2 -fomit-frame-pointer'. There is no crash if example is compiled
without option -fomit-frame-pointer.

It's not a regression as gcc-2.95.3 have the same problem
>How-To-Repeat:
Compile attached example and run it:
  g++ -O2 -fomit-frame-pointer except.cc -o except
  ./except 
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="except.cc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="except.cc"

LyogIAogICAgZ2NjLTMuMTogdGhyb3dpbmcgZXhlcHRpb24gY2F1c2VzIGNyYXNoIHdoZW4gY29t
cGlsZWQgdXNpbmcgCiAgICBjb21tYW5kIGxpbmUgb3B0aW9ucyAtZm9taXQtZnJhbWUtcG9pbnRl
ciAtTzIKCQoJY29tcGlsZSBjb21tYW5kOgoJICAgIGdjYyAtTzIgLWZvbWl0LWZyYW1lLXBvaW50
ZXIgZXhjZXB0LmNjIC1sc3RkYysrIC1vIGV4Y2VwdAoJICAgIAoJcmVzdWx0IGNyYXNoZXMgd2hl
biByZXRocm93aW5nIGV4Y2VwdGlvbiBpbiB4MWEoKSB3aGVuIG9wdGltYXphdGlvbgoJYW5kIC1m
b21pdC1mcmFtZS1wb2ludGVyIGlzIHJlcXVlc3RlZC4gUnVucyBzdWNjZXNzZnVsbHkgd2l0aG91
dAoJLWZvbWl0LWZyYW1lLXBvaW50ZXIKCglWZXJpZmllZCBmb3IgdGFyZ2V0czoKCQlpNjg2LXBj
LWxpbnV4LWdudQoJCWk1ODYtcGMtbXNkb3NkamdwcAoJCiovCQoKI2luY2x1ZGUgPGlvc3RyZWFt
Pg0KI2luY2x1ZGUgPHN0cmluZz4NCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgeHgge307
DQoNCnZvaWQgeDEgKHZvaWQpIHRocm93ICh4eCk7DQ0KY2xhc3MgdGVzdA0KICB7DQogIHB1Ymxp
YzoNCiAgICAgICAgIHN0cmluZyB0ZXh0Ow0KICAgICAgICAgDQogICAgICAgICB0ZXN0IChjb25z
dCBjaGFyICogeCkgOiB0ZXh0KHgpDQogICAgICAgICAgIHsNCiAgICAgICAgICAgICAgIGNvdXQg
PDwgdGhpcyA8PCAiIHRlc3Q6OnRlc3QoXCIiIDw8IHRleHQgPDwgIlwiKVxuIjsNCiAgICAgICAg
ICAgfQ0KICAgICAgICAgICANCiAgICAgICAgIH50ZXN0ICgpDQogICAgICAgICAgIHsNCiAgICAg
ICAgICAgICAgIGNvdXQgPDwgdGhpcyA8PCAiIHRlc3Q6On50ZXN0KClcbiI7DQoJICAgICAgIGNv
dXQuZmx1c2goKTsKCSAgICAgICBjb3V0IDw8ICIgICAgICAgIFwiIiA8PCB0ZXh0IDw8ICJcIlxu
IjsNCiAgICAgICAgICAgfQ0KICB9Ow0KDQoNCnZvaWQgIHRvdWNoICggdGVzdCAmIHggKTsgLyog
TGV0J3MgZm9vbCBnY2MgdG8gdGhpbmsgdGhpcyBvYmplY3QgaXMgcmVhbGx5IHVzZWQgKi8NCg0K
dm9pZCB4MWEgKHZvaWQpDQogIHsNCiAgICAgdGVzdCB3MyAoInZvaWQgeDFhICh2b2lkKSIpOw0K
ICAgICB0b3VjaCAodzMpOw0KICAgICB4MSAoKTsNCiAgfQ0KDQppbnQgbWFpbiAodm9pZCkNCnsN
CiAgIHRyeSB7IHgxYSgpOyB9IGNhdGNoICh4eCAmIHcpIHsgY291dCA8PCAiY2F0Y2hlZCBmcm9t
IHgxYSgpXG4iOyB9DQogICByZXR1cm4gMDsNCn0NCg0Kdm9pZCB4MSAodm9pZCkgdGhyb3cgKHh4
KQ0KICB7DQogICAgIHRlc3QgdzEgKCJ2b2lkIHgxICh2b2lkKSB0aHJvdyAoeHgpIik7DQogICAg
IHRvdWNoICh3MSk7DQogICAgIHh4IGE7DQogICAgIHRocm93KGEpOw0KICB9DQoKdm9pZCAgdG91
Y2ggKCB0ZXN0ICYgKQ0Kew0KfQ0K



More information about the Gcc-bugs mailing list