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~

Reply via email to