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

Re: libunwind in unstable



On Tue, Nov 23, 2004 at 04:31:46PM +1100, Ian Wienand wrote:
> On Mon, Nov 22, 2004 at 05:30:38PM -0800, David Mosberger wrote:
> > That would make sense.  libstdc++5 calls _Unwind_Resume() which
> > is/should be implemented by libunwind.so.7.  With older versions of
> > GCC, it was implemented as part of libgcc_eh.a/libgcc_s.so.
> 
> Actually, when I checked with ldd I forgot it is recursive, if you
> actually look at the DT_NEEDED flags the dependency comes from
> /lib/libgcc_s.so.1
> 
> As I understand it the problem stems from the fact that the libgcc1
> package actually comes from gcc-3.4 (to satisify something or other).
> 
> Poking around gcc-3.4 I think this is caused by PR14925, for which the
> fix appeared in the 3.4.3 release, which was built by the autobuilder
> on the 20th Nov 2004.  This (AFAICS) creates a "dummy" libunwind.so.7
> in the case where the Mosberger (or other) libunwind isn't found.
> 
> I'm no gcc packaging expert, but I applied the attached patch to
> gcc-3.4 and at least got libunwind into libgcc1
> 
> ianw@baci:/usr/src/tmp/glibc-debian$ dpkg --contents ./libgcc1_3.4.3-1_ia64.deb
> [blah]
> -rw-r--r-- root/root     48752 2004-11-23 16:04:31 ./lib/libgcc_s.so.1
> -rw-r--r-- root/root     49904 2004-11-23 16:04:31 ./lib/libunwind.so.7
> 
> Of course, this means that if you install libunwind7, which lives in
> /usr/lib/, /lib gets searched first and the Mosberger libunwind isn't
> found.  You can't put it in /usr/lib/ because it will conflict with
> the libunwind package.  So in my fairly uneducated opinion we could
> either 
> 
> - write a patch similar to attached so libgcc1 includes libunwind.so,
>  but setup some sort of alternatives system where the libunwind7
>  package can override.
> 
> - fix the gcc build to depend on libunwind for ia64 and always use
>  the Mosberger libunwind.  I see there is already a
>  control.m4.unwind' but it doesn't appear to be used?  I think this
>  has implications for stable which is frozen, too.
> 

That is a packaging issue. You should create libgcc1_3.4.3-1_ia64.deb
which depends on libunwind7.so. libunwind7.so can come from either
Mosberger's libunwind or gcc.


H.J.



Reply to: