This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: serious EH thread bug
- To: Teemu Torma <tot at trema dot com>
- Subject: Re: serious EH thread bug
- From: Andrey Slepuhin <pooh at msu dot ru>
- Date: Fri, 20 Nov 1998 20:39:20 +0300 (MEST)
- Cc: jason at cygnus dot com, egcs at cygnus dot com, Mike Stump <mrs at wrs dot com>
- Organization: Moscow State University Network (MSUnet)
On 20-Nov-98 Teemu Torma wrote:
> Mike Stump wrote:
>>
>> There is a serious bug in the thread support code for EH. The
>> work-around, is to put a try { before any auto vars with dtors, temps
>> with dtors or any other EH things.
>>
>> I'm working on a fix now. To observe it, try putting an auto var with
>> a dtor before any try { and watch the value of
>> libgcc.a(_eh.o):top_elt[2]. It changes. Oops, this is a single
>> shared global variable between all threads. We can't be changing such
>> a variable!
>>
>> To fix it, I think all I want to do is unshare the variable via malloc.
>
> In early versions, it was in the thread specific data, but Jason's
> opinion was that it is just a sentinel, and never changes.
I also remember this discussion, and I'm using a custom patch to avoid
Mike's problems.
Regards,
Andrey