Bug 40797
Summary: | Exceptions in std::streambuf methods causing core-dump | ||
---|---|---|---|
Product: | [Retired] Red Hat Raw Hide | Reporter: | Enrico Scholz <rh-bugzilla> |
Component: | gcc | Assignee: | Jakub Jelinek <jakub> |
Status: | CLOSED DEFERRED | QA Contact: | David Lawrence <dkl> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 1.0 | CC: | drepper |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i386 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2001-05-15 23:18:40 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Enrico Scholz
2001-05-15 23:18:36 UTC
gcc can pass exceptions through C functions if they were compiled with -fexceptions. A couple of routines in glibc are (such as sort, bsearch, etc.), most of them are not. In this particular case: #0 0x080491d8 in foo::overflow (this=0xbffff970, c=49) at o.C:5 #1 0x4010a200 in __overflow (f=0xbffff970, ch=49) at genops.c:200 #2 0x40105a4c in _IO_putc (c=49, fp=0xbffff970) at putc.c:33 #3 0x400446c8 in ostream::operator<< () from /usr/lib/libstdc++-libc6.2-2.so.3 genops.c was compiled with -fexceptions while putc.c was not. This test fails with egcs 1.1.2 and gcc-2.95.2, but works with libstdc++-v3, so IMHO it is not worth bloating glibc because of this when gcc 3.0 will be out soon. A fully standard compliant libstdc++ is not anything below libstdc++-v3 anyway, so this is just yet another incompatibility. |