ldd output for sysinfo DSO
Jakub Jelinek
jakub@redhat.com
Sat Oct 11 15:49:00 GMT 2003
On Sat, Oct 11, 2003 at 11:39:22AM -0400, Daniel Jacobowitz wrote:
> On Tue, Sep 30, 2003 at 01:45:17PM -0700, Roland McGrath wrote:
> > > The leading tab is because of the sysinfo DSO. Its address is in kernel
> > > space, so writev() stops when it sees the pointer, and nothing gets written.
> >
> > It still seems to me that the proper solution to this issue is for the
> > kernel to treat user addresses consistently. That is, what you can access
> > from userland you can access via system calls that use user addresses.
> >
> > > The other sensible alternative is to skip it entirely.
> >
> > This might be wise for unrelated reasons. I don't know what all groks ldd
> > output, but there may well be scripts around that assume that the rhs names
> > a file that can (and should) be found. linux-gate.so.1 refers to no file.
>
> I see that Roland's changed it not to set l_libname. Now we get:
>
> drow@nevyn:/big/fsf/glibc% ./elf/ld.so --list --library-path .:rt:linuxthreads:/lib /bin/ls
> linux-gate.so.1 => (0xffffe000)
> librt.so.1 => rt/librt.so.1 (0x40001000)
> libacl.so.1 => /lib/libacl.so.1 (0x40014000)
> libc.so.6 => ./libc.so.6 (0x4001b000)
> libpthread.so.0 => linuxthreads/libpthread.so.0 (0x4014a000)
> /lib/ld-linux.so.2 => ./elf/ld.so (0x80000000)
> libattr.so.1 => /lib/libattr.so.1 (0x4019c000)
I think it should print something that scripts can identify as not a
filename. Say /VIRTUAL/ (a directory cannot be a shared library).
Jakub
More information about the Libc-alpha
mailing list