This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: serious EH thread bug
- To: Mike Stump <mrs at wrs dot com>
- Subject: Re: serious EH thread bug
- From: Teemu Torma <tot at trema dot com>
- Date: Fri, 20 Nov 1998 10:11:17 +0100
- CC: egcs at cygnus dot com, jason at cygnus dot com
- Organization: Trema Laboratories SARL
- References: <199811200331.TAA14612@kankakee.wrs.com>
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.
Jason, is this still true, or could it be a bug somewhere else?
Teemu