This is the mail archive of the
libc-alpha@cygnus.com
mailing list for the glibc project.
Re: Damaged PPC_REL24 handling
On Wed, Nov 18, 1998 at 11:22:49AM +1100, Geoff Keating wrote:
> I'd still like to see the output if you set LD_TRACE_LOADED_OBJECTS to
> 1, if you can generate it. There's a chunk of code in ld.so that
> tries to arrange the memory map so that non-PIC shared objects do
> work, and it would be interesting to see if and how it's
> failing---it's an efficiency issue for PIC code too. I have it
> working properly on my machine, but that's mklinux and the monolithic
> kernel is probably different.
>
> Ideally, all the shared libraries should be mapped just below where
> the executable starts, like this:
>
> But sometimes it doesn't work, for instance because there isn't room:
Which was exactly the problem. The binary seems to be locating itself
at 0x01800000 (binutils 2.9.1.0.15).
libraptorbase.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libraptorbase.so (0x0178d000)
libpref.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libpref.so (0x0171c000)
libraptorgfx.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libraptorgfx.so (0x01697000)
libgfxmotif.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libgfxmotif.so (0x01635000)
libraptorhtml.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libraptorhtml.so (0x01172000)
libgmbasemotif.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libgmbasemotif.so (0x01111000)
libraptorhtmlpars.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libraptorhtmlpars.so (0x0105c000)
libraptorview.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libraptorview.so (0x00fe9000)
libreg.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libreg.so (0x00f90000)
libabouturl.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libabouturl.so (0x00f3b000)
libfileurl.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libfileurl.so (0x00ee6000)
libftpurl.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libftpurl.so (0x00e8b000)
libgophurl.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libgophurl.so (0x00e37000)
libhttpurl.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libhttpurl.so (0x00dd9000)
libimg.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libimg.so (0x00d74000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00cf1000)
libpng.so.2 => /usr/lib/libpng.so.2 (0x00c77000)
libjs.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libjs.so (0x00bb8000)
libjsdom.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libjsdom.so (0x00a42000)
libmimetype.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libmimetype.so (0x009eb000)
libnetcache.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libnetcache.so (0x0098a000)
libnetcnvts.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libnetcnvts.so (0x00934000)
libnetlib.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libnetlib.so (0x008b5000)
libnetutil.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libnetutil.so (0x00863000)
libnetwork.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libnetwork.so (0x007e7000)
libplds21.so => /usr/local/nspr/lib/libplds21.so (0x00792000)
libplc21.so => /usr/local/nspr/lib/libplc21.so (0x0073c000)
libnspr21.so => /usr/local/nspr/lib/libnspr21.so (0x0068e000)
libraptorwebwidget.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libraptorwebwidget.so (0x0060f000)
libremoturl.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libremoturl.so (0x005be000)
libsecfree.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libsecfree.so (0x0056b000)
libstubnj.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libstubnj.so (0x00519000)
libstubsj.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libstubsj.so (0x004c8000)
libtestdynamic.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libtestdynamic.so (0x00467000)
libutil.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libutil.so (0x00416000)
libxp.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libxp.so (0x0035d000)
libxpcom.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libxpcom.so (0x002f4000)
libz.so.1 => /usr/lib/libz.so.1 (0x00295000)
libraptorplugin.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libraptorplugin.so (0x00221000)
libpwcac.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libpwcac.so (0x001ce000)
libdbm.so => /drow/mozilla/mozilla/obj-shared/dist/bin/libdbm.so (0x00176000)
libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x00111000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x0005d000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x30057000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x300a1000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x300fa000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x30149000)
libnsl.so.1 => /lib/libnsl.so.1 (0x30254000)
libresolv.so.2 => /lib/libresolv.so.2 (0x302ad000)
libdl.so.2 => /lib/libdl.so.2 (0x302fd000)
libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2 (0x30340000)
libm.so.6 => /lib/libm.so.6 (0x303da000)
libc.so.6 => /lib/libc.so.6 (0x30446000)
/lib/ld.so.1 => /lib/ld.so.1 (0x30000000)
Dan