Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150402161837.GA6817@brightrain.aerifal.cx>
Date: Thu, 2 Apr 2015 12:18:37 -0400
From: Rich Felker <dalias@...c.org>
To: Jean-Marc Pigeon <jmp@...e.ca>
Cc: musl@...ts.openwall.com
Subject: Re: perl native musl, ldd

On Thu, Apr 02, 2015 at 11:53:19AM -0400, Jean-Marc Pigeon wrote:
> Hello,
> 
> 
> I compiled perl (native, under gcc-musl) and I have
> a non expected result with ldd.
> 
> Example: (with a musl system tree chroot)
> bash=4/3# cd /usr/lib/perl5/5.20.2/auto/IPC/SysV/
> bash-4.3# ldd SysV.so
> 	ldd (0x7f5d60dd2000)
> 	libc.so => ldd (0x7f5d60dd2000)
> Error relocating SysV.so: Perl_croak: symbol not found
> Error relocating SysV.so: Perl_sv_setiv: symbol not found
> Error relocating SysV.so: Perl_sv_2pv_flags: symbol not found
> Error relocating SysV.so: Perl_av_store: symbol not found
> etc.
> 
> While with glibc (with a glibc system tree chroot)
> bash-4.3# cd /usr/lib/perl5/5.20.2/auto/IPC/SysV
> bash-4.3# ldd SysV.so
> 	linux-vdso.so.1 (0x00007fff09556000)
> 	libc.so.6 => /lib64/libc.so.6 (0x00007f25be856000)
> 	/lib64/ld-linux-x86-64.so.2 (0x00007f25bee00000)
> 
> I am puzzled about those "Error relocating"
> native (within musl) perl make didn't return error,
> so I am assuming everything went well.
> 
> Advices...? hints? do we have a real problem
> with musl ldd or I goofed somehow?

Hmm, it seems like glibc ldd does not (or at least does not always)
report symbols that can't be resolved. What seems to be happening is
that the above symbols are intended to be provided by the main program
(the perl interpreter) loading SysV.so rather than resolved via
library dependencies.

I hadn't really considered using ldd on .so files, only on main
programs where this would not be an issue.

If someone can help determine exactly what glibc ldd's behavior is
here (does it always ignore missing symbols? or only for .so files,
and if so, how does it distinguish .so file from main program?) it
should be easy to make musl's behavior match.

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.