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

Re: Bug#161740: open-ssl has invalid instruction



On Sat, Sep 21, 2002 at 06:19:20PM +0200, Christoph Martin wrote:
> Am Sam, 2002-09-21 um 16.47 schrieb cwaki@medynet.sk:
> > > Please send me the output of:
> > > 
> > > strace openssl version
> 
> > execve("/usr/bin/openssl", ["openssl", "version"], [/* 17 vars */]) = 0
> > uname({sys="Linux", node="onyx", ...})  = 0
> > brk(0)                                  = 0x808ab64
> > old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40013000
> > open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
> > open("/etc/ld.so.cache", O_RDONLY)      = 3
> > fstat64(3, {st_mode=S_IFREG|0644, st_size=11858, ...}) = 0
> > old_mmap(NULL, 11858, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000
> > close(3)                                = 0
> > open("/usr/lib/i686/libssl.so.0.9.6", O_RDONLY) = 3
> 
> This would mean, that it works if you call
> 
> LD_LIBRARY_PATH=/usr/lib strace openssl version
> 
> but not if you call
> 
> strace openssl version
> 
> That looks like a big bug in the dynamic linker.
> 
> I just verified it on a 486 box. If I use LD_LIBRARY_PATH=/usr/lib, the
> library gets loaded from /usr/lib/i486. If I don't use it, the library
> gets loaded from /usr/lib/i686.
> 
> On a second thought, it looks like a problem with ldconfig. ldconfig
> searches all the directories i686, i586 etc. and puts it in the cache.
> This way, the i686 library is allways found, as long as one does not use
> an LD_LIBRARY_PATH=/usr/lib. Here ld.so does it correctly.
> 
> If this is really the case, I have to cancel the optimisation for
> openssl.

Andrew Suffield just reported the glibc bug with a little more detail;
it should be fixed pretty soon, I think.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



Reply to: