[csw-maintainers] opening both 32bit and 64bit shared libs

Darin Perusich Darin.Perusich at cognigencorp.com
Mon Apr 26 15:09:49 CEST 2010


Dago,

On 04/25/2010 03:41 PM, Dagobert Michelsen wrote:
> Hi,
> 
> Am 24.04.2010 um 07:01 schrieb Philip Brown:
>> On Friday, April 23, 2010,  <Darin.Perusich at cognigencorp.com> wrote:
>>> So when I run "LD_DEBUG=all /opt/csw/sbin/amstatus test" this reference to
>>> /opt/csw/lib/sparcv9/libgthread-2.0.so.0 is only mentioned once in the
>>> output, see below. I'm not sure out to interrupt this output, does it mean
>>> the libgthread-2.0.so.0 is trying to use the 64bit library?
>>
>> it would appear that it CONSIDERS using it... for which it has to
>> open() the file... but then appropriately rejects it.
>>
>> the odd thing is why ISALIST is expanding to include sparc v9 for a 32
>> bit executable. something very wrong there.
>> perhaps a prior library incorrectly loaded ?
> 
> This is perfectly normal. The reason is because sysinfo(2)(SI_ISALIST,...)
> doesn't look for 32/64 bits for the result - it is always the same. The
> reason for this is because /usr/lib/isaexec uses this same syscall to
> find the best ISA, which may very well be 64 bit binary even if isaesec
> itself is 32 bit. It may be wise of there would be another syscall for
> the linker, but there isn't. Hence this is normal behaviour and does
> not lead to your problem. There must be another cause.
> 

You say this is normal behavior, i.e listing all the applicable
libraries, but there is no other instance where an open() to a 64bit
library is occurring. Whenever a 64bit lib is evaluated I get "rejected:
wrong ELF class: ELFCLASS64" for those libs.

-- 
Darin Perusich
Unix Systems Administrator
Cognigen Corporation
395 Youngs Rd.
Williamsville, NY 14221
Phone: 716-633-3463
Email: darinper at cognigencorp.com


More information about the maintainers mailing list