This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: dwarf2 unwinder hacks get my static build going: Bug, or indication of what I'm doing wrong?
- From: Richard Henderson <rth at redhat dot com>
- To: Scott Gilbertson <scottg at mantatest dot com>
- Cc: GCC <gcc at gcc dot gnu dot org>
- Date: Fri, 18 Nov 2005 17:48:26 -0800
- Subject: Re: dwarf2 unwinder hacks get my static build going: Bug, or indication of what I'm doing wrong?
- References: <57ea01c5ec96$4adf12b0$3c16a8c0@mantatest.com>
On Fri, Nov 18, 2005 at 06:17:49PM -0500, Scott Gilbertson wrote:
> - if (last_cache_entry != NULL)
> + if (prev_cache_entry != NULL && last_cache_entry != NULL)
This one looks like it may be a legitimate problem with the list
manipulation, though this isn't the proper fix.
> Looking at the changes to unwind-dw2-fde-glibc.c, I see that the parts of
> the code I've shown here were structured differently in the 4.0 branch
> (which works just fine for me with static builds). Maybe that's a clue.
Um, I don't see that at all. I see some minor changes wrt abort,
and one spot where we use a local temporary instead of storing the
value directly into data->func.
> _Jv_FreeMethodCache function, and now my simple test cases work. Like so:
> void
> _Jv_FreeMethodCache ()
> {/*
> #ifdef HAVE_TLS
> if (method_cache != NULL)
I will say that staticly linked linuxthreads tls is known to be
broken. Or at least known to me. I encountered this while doing
OpenMP work on RHEL3. The problem I saw doesn't appear with nptl.
r~