libunwind-devel
[Top][All Lists]
Advanced

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

RE: [libunwind] RE: Question on libunwind-dynamic


From: David Mosberger
Subject: RE: [libunwind] RE: Question on libunwind-dynamic
Date: Mon, 13 Sep 2004 07:00:53 -0700

>>>>> On Thu, 26 Aug 2004 08:43:01 +0100, "Thomas Hallgren" <address@hidden> 
>>>>> said:

  >> > ...  I'm worried that ISVs would create binary-only extensions
  >> > to libunwind, which would make it impossible to, e.g., unwind a
  >> > particular stack from a platform which isn't supported by the
  >> > ISV.  Even when the extensions are available for the local
  >> > platform, just managing them would be a huge pain, in my
  >> > opinion.

  Thomas> I don't see that as a problem at all. It's the ISV's problem
  Thomas> altogether.  They, if any, should be eager to provide and
  Thomas> manage the necessary plugins.

Yeah, in theory, you're right.  In my experience, ISVs sooner or later
stop caring about release X of their software and that always creates
problems.  Not to mention that it effectively prevents
cross-debugging, for example.

  Thomas> The reason I'm pursuing this track is that we try to
  Thomas> minimize our memory consumption and this would undoubtedly
  Thomas> increase it. We don't want to create additional structures
  Thomas> for each method that we generate if it can be avoided. As I
  Thomas> said earlier, it's a *lot* of methods and we already have
  Thomas> similar structures.

Yes, I share your concern but really don't think that
libunwind-plugins are a practical solution.  I did design the dynamic
unwind-info to minimize space-consumption.  The encoding can be
particularly efficient if many procedures share the same
prolog/epilog.  Hopefully, the overhead is acceptable.

If the current encoding _really_ isn't adequate, I suppose we could
considering adding yet another layer of indirection and add support
for an interpreted byte-code which generates the dynamic unwind-info
on demand.  But this would add a fair amount of complexity and I'd
much prefer if we could avoid it.

        --david


reply via email to

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