linux-origin
[Top] [All Lists]

Re: ld.so bug

To: ralf@xxxxxxxxxxx (Ralf Baechle)
Subject: Re: ld.so bug
From: Kanoj Sarcar <kanoj@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 12 Sep 2000 16:12:05 -0700 (PDT)
Cc: linux-origin@xxxxxxxxxxx, ulfc@xxxxxxxxxxxxxxxxxxxx (Ulf Carlsson), wesolows@xxxxxxxxxxxx (Keith M Wesolowski), macro@xxxxxxxxxxxxx (Maciej W. Rozycki)
In-reply-to: <20000912193424.A4052@bacchus.dhis.org> from "Ralf Baechle" at Sep 12, 2000 07:34:24 PM
Sender: owner-linux-origin@xxxxxxxxxxx
> 
> We've got a bug in the dynamic linker which makes it die when it's not
> loaded to the address it's linked to.  This is bug number one but the
> second bug is the fact that it gets loaded to the wrong address.  I
> suspect this may also happen at times on a 32-bit kernel also but it's
> happening much easier on mips64.  Easiest way to show this is to run
> /lib/ld.so.1 - it will always die on MIPS64.  This brings us to bug number
> three - gdb 4.16 only prints junk from the resulting corefile; I assume
> that the 64-bit kernel doesn't write the registers properly into the core
> file.
> 
> Kanoj, got an idea why the kernel might load ld.so to a different address
> than it is linked for?

I don't clearly understand what is going on, but I would start off by
looking at SET_PERSONALITY and TASK_UNMAPPED_BASE when you run 
/lib/ld.so.1. May or may not yield anything ...

Kanoj

> 
> Note that ldd is running ld.so directly, therefore on an Origin it will
> always say ``not a dynamic executable''.  This again will confuse
> libtool into producing wrong library and rpm into generating packages
> without library dependency information and probably a few more
> neat little resulting bugs.
> 
> Btw, this same problem should also affect glibc 2.2.
> 
>   Ralf
> 


<Prev in Thread] Current Thread [Next in Thread>