libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [libunwind] libunwind segv with gcc 2.96 programs run on RedhatEL 3


From: David Mosberger
Subject: RE: [libunwind] libunwind segv with gcc 2.96 programs run on RedhatEL 3 with GLIBC 2.3.2
Date: Wed, 11 Feb 2004 10:59:51 -0800

>>>>> On Wed, 11 Feb 2004 11:34:18 -0500, "Harrow, Jerry" <address@hidden> said:

  Jerry> I would therefore presume that most "deployed" applications
  Jerry> on Redhat/Itanium are compiled with Gcc 2.96.

My impression is that a fair number of ISVs are using the Intel
compilers.

  Jerry> If gdb is patched to use libunwind, does that mean you cannot
  Jerry> debug applications built with Gcc 2.96.

Not really.  For the most part, libunwind-enabled gdb should work fine
on gcc 2.96 produced code and in the worst case, you can force gdb to
fall back to the old way of doing things (i.e., via code-reading).  To
do this, just hide libunwind.so.1 from gdb and it will fall back to
the old way.

  Jerry> Like GDB or a profiler, my application analyzes user applications.
  Jerry> Therefore I have no control over how they are built.

Ah, I see.

  Jerry> Is there any way to detect that the application is not using the new
  Jerry> unwind structures and therefore we should not attempt to utilize
  Jerry> libunwind?  Can you even tell what compiler was used in an image?

Even GCC 2.96 provides the right form of unwind tables, it's just that
there are several corner cases it gets wrong.

I believe the problem you were seeing may have had more to do with the
combination of an old glibc and thread-creation rather than GCC
2.96-produced code.  If you can provide a minimal test-case that
reproduces the problem, I can confirm that (you'd have to provide a
statically-linked binary as well, because it's unlikely I have a
machine with the exact same combination of libc and GCC as you do).

        --david


reply via email to

[Prev in Thread] Current Thread [Next in Thread]