This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

c++/2901: Program crash when using -fno-rtti with exceptions



>Number:         2901
>Category:       c++
>Synopsis:       Program crash when using -fno-rtti with exceptions
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Tue May 22 11:36:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Petter Reinholdtsen
>Release:        gcc-2.95.2
>Organization:
>Environment:
Debian GNU/Linux 2.2
>Description:
When compiling the enclosed source with -fno-rtti, the
generated program crashes with SIGSEGV in __cplus_type_matcher with the following backtrace:

  #0  0x80487c0 in _IO_stdin_used ()
  #1  0x40039034 in __cplus_type_matcher ()
     from /usr/lib/libstdc++-libc6.1-2.so.3
  #2  0x40038453 in __eh_rtime_match () from /usr/lib/libstdc++-libc6.1-2.so.3
  #3  0x804871d in g (i=0) at gcc-throw-bug.cpp:57
  #4  0x8048758 in main () at gcc-throw-bug.cpp:63

I believe if the compiler is unable to generate correct code, it should give an compiler error.
>How-To-Repeat:
Compile the source with -g -fno-rtti and run the resulting
program.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/x-c++src; name="gcc-throw-bug.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="gcc-throw-bug.cpp"

LyoKCiAgJSBjKysgLS12ZXJzaW9uCiAgMi45NS4yCiAgJSBjKysgLWcgLWZuby1ydHRpIC1vIGdj
Yy10aHJvdy1idWcgZ2NjLXRocm93LWJ1Zy5jcHAKICAlICQgZ2RiIC4vZ2NjLXRocm93LWJ1Zwog
IEdOVSBnZGIgMTk5OTA5MjgKICBDb3B5cmlnaHQgMTk5OCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4KICBHREIgaXMgZnJlZSBzb2Z0d2FyZSwgY292ZXJlZCBieSB0aGUgR05VIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UsIGFuZCB5b3UgYXJlCiAgd2VsY29tZSB0byBjaGFuZ2UgaXQgYW5k
L29yIGRpc3RyaWJ1dGUgY29waWVzIG9mIGl0IHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucy4KICBU
eXBlICJzaG93IGNvcHlpbmciIHRvIHNlZSB0aGUgY29uZGl0aW9ucy4KICBUaGVyZSBpcyBhYnNv
bHV0ZWx5IG5vIHdhcnJhbnR5IGZvciBHREIuICBUeXBlICJzaG93IHdhcnJhbnR5IiBmb3IgZGV0
YWlscy4KICBUaGlzIEdEQiB3YXMgY29uZmlndXJlZCBhcyAiaTY4Ni1wYy1saW51eC1nbnUiLi4u
CiAgKG5vIGRlYnVnZ2luZyBzeW1ib2xzIGZvdW5kKS4uLgogIChnZGIpIHIKICBTdGFydGluZyBw
cm9ncmFtOiAvaG9tZS9wZXJlL2J1Z3MvLi9nY2MtdGhyb3ctYnVnCiAgKG5vIGRlYnVnZ2luZyBz
eW1ib2xzIGZvdW5kKS4uLihubyBkZWJ1Z2dpbmcgc3ltYm9scyBmb3VuZCkuLi4KICAobm8gZGVi
dWdnaW5nIHN5bWJvbHMgZm91bmQpLi4uKG5vIGRlYnVnZ2luZyBzeW1ib2xzIGZvdW5kKS4uLgog
IFByb2dyYW0gcmVjZWl2ZWQgc2lnbmFsIFNJR1NFR1YsIFNlZ21lbnRhdGlvbiBmYXVsdC4KICAw
eDgwNDg3YzAgaW4gX0lPX3N0ZGluX3VzZWQgKCkKICAoZ2RiKSBidAogICMwICAweDgwNDg3YzAg
aW4gX0lPX3N0ZGluX3VzZWQgKCkKICAjMSAgMHg0MDAzOTAzNCBpbiBfX2NwbHVzX3R5cGVfbWF0
Y2hlciAoKQogICAgIGZyb20gL3Vzci9saWIvbGlic3RkYysrLWxpYmM2LjEtMi5zby4zCiAgIzIg
IDB4NDAwMzg0NTMgaW4gX19laF9ydGltZV9tYXRjaCAoKSBmcm9tIC91c3IvbGliL2xpYnN0ZGMr
Ky1saWJjNi4xLTIuc28uMwogICMzICAweDgwNDg3MWQgaW4gZyAoaT0wKSBhdCBnY2MtdGhyb3ct
YnVnLmNwcDo1NwogICM0ICAweDgwNDg3NTggaW4gbWFpbiAoKSBhdCBnY2MtdGhyb3ctYnVnLmNw
cDo2MwogIChnZGIpCgoqLwoKI2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8YXNzZXJ0Lmg+
Cgp0eXBlZGVmIGludCBPUF9TVEFUVVM7CgplbnVtIHsKICBPSywKICBFUlIKfTsKCmludCBmKGlu
dCBpKQp7CiAgaWYgKDAgPT0gaSkKICAgIHRocm93ICgoT1BfU1RBVFVTKUVSUik7CiAgcmV0dXJu
IGk7Cn0KCmludCBnKGludCBpKQp7CiAgaW50IHJldHZhbCA9IDA7CiAgdHJ5IHsKICAgIHJldHZh
bCA9IGYoaSk7CiAgfSBjYXRjaCAoT1BfU1RBVFVTIGVycm9yKSB7CiAgfQogIHJldHVybiByZXR2
YWw7Cn0KCmludAptYWluKCkKewogIGcoMCk7CiAgZygxKTsgLy8gVGhpcyBjYWxsIGNyYXNoZXMK
ICByZXR1cm4gMDsKfQo=


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]