[csw-maintainers] opening both 32bit and 64bit shared libs
Darin Perusich
Darin.Perusich at cognigencorp.com
Mon Apr 26 18:26:14 CEST 2010
Hi Dago,
I see what you're saying but the behavior I'm seeing is that it's only
attempting to open the 64bit lib and never the 32bit one, see below.
I've been in contact with the Amanda developers and they're not sure
what's going on or how to proceed. From how things appear the problem is
outside of the amanda libs and is glib2 related.
I've definitely reached a point where I don't know how to proceed so any
guidance will be greatly appreciated.
Thanks
<testing9s:~> grep open /tmp/amtruss.out |grep -v NOENT | grep gthread
open("/opt/csw/lib/sparcv9/libgthread-2.0.so.0", O_RDONLY) = 5
open("/opt/csw/lib/sparcv8/libgthread-2.0.so.0", O_RDONLY) = 5
open("/opt/csw/lib/sparcv9/libgthread-2.0.so.0", O_RDONLY) = 5
open("/opt/csw/lib/sparcv9/libgthread-2.0.so.0", O_RDONLY) = 5
open("/opt/csw/lib/sparcv9/libgthread-2.0.so.0", O_RDONLY) = 5
open("/opt/csw/lib/sparcv9/libgthread-2.0.so.0", O_RDONLY) = 5
open("/opt/csw/lib/sparcv9/libgthread-2.0.so.0", O_RDONLY) = 4
open("/opt/csw/lib/sparcv9/libgthread-2.0.so.0", O_RDONLY) = 5
open("/opt/csw/lib/sparcv9/libgthread-2.0.so.0", O_RDONLY) = 5
open("/opt/csw/lib/sparcv9/libgthread-2.0.so.0", O_RDONLY) = 5
open("/opt/csw/lib/sparcv9/libgthread-2.0.so.0", O_RDONLY) = 5
On 04/26/2010 11:10 AM, Dagobert Michelsen wrote:
> Hi Darin,
>
> Am 26.04.2010 um 15:09 schrieb Darin Perusich:
>> 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.
>
> Just take an arbitrary binary from /opt/csw/bin which has $ISALIST
> in the RPATH, like 411toppm. It is always the same behaviour:
>
> dam at testing9s :/opt/csw/bin > dump -Lv 411toppm
>
> 411toppm:
>
> **** DYNAMIC SECTION INFORMATION ****
> .dynamic:
> [INDEX] Tag Value
> [1] NEEDED libnetpbm.so.10
> [2] NEEDED libpng12.so.0
> [3] NEEDED libz.so
> [4] NEEDED libjpeg.so.62
> [5] NEEDED libtiff.so.3
> [6] NEEDED libm.so.1
> [7] NEEDED libsocket.so.1
> [8] NEEDED libnsl.so.1
> [9] NEEDED libc.so.1
> [10] INIT 0x1fe258
> [11] FINI 0x1fe268
> [12] RUNPATH /opt/csw/lib/$ISALIST:/opt/csw/lib
> [13] RPATH /opt/csw/lib/$ISALIST:/opt/csw/lib
> [14] HASH 0x100e8
> ...
>
> dam at testing9s :/opt/csw/bin > truss -f ./411toppm
> 2932: execve("netpbm", 0xFFBFFAD4, 0xFFBFFADC) argc = 1
> ...
> 2932: mprotect(0xFF1C0000, 159436, PROT_READ|PROT_EXEC) = 0
> 2932: stat("/opt/csw/lib/sparcv9+vis2/libjpeg.so.7", 0xFFBFF148) Err#2
> ENOENT
> 2932: stat("/opt/csw/lib/sparcv9+vis/libjpeg.so.7", 0xFFBFF148) Err#2
> ENOENT
> 2932: stat("/opt/csw/lib/sparcv9/libjpeg.so.7", 0xFFBFF148) = 0
> 2932: resolvepath("/opt/csw/lib/sparcv9/libjpeg.so.7",
> "/opt/csw/lib/sparcv9/libjpeg.so.7.0.0", 1023) = 37
> 2932: open("/opt/csw/lib/sparcv9/libjpeg.so.7", O_RDONLY) = 3
> 2932: mmap(0x00010000, 32768, PROT_READ|PROT_EXEC,
> MAP_PRIVATE|MAP_ALIGN, 3, 0) = 0xFF0F0000
> 2932: close(3) = 0
> 2932: stat("/opt/csw/lib/sparcv8plus+vis2/libjpeg.so.7", 0xFFBFF148)
> Err#2 ENOENT
> 2932: stat("/opt/csw/lib/sparcv8plus+vis/libjpeg.so.7", 0xFFBFF148)
> Err#2 ENOENT
> 2932: stat("/opt/csw/lib/sparcv8plus/libjpeg.so.7", 0xFFBFF148) Err#2
> ENOENT
> 2932: stat("/opt/csw/lib/sparcv8/libjpeg.so.7", 0xFFBFF148) = 0
> 2932: resolvepath("/opt/csw/lib/sparcv8/libjpeg.so.7",
> "/opt/csw/lib/libjpeg.so.7.0.0", 1023) = 29
> 2932: open("/opt/csw/lib/sparcv8/libjpeg.so.7", O_RDONLY) = 3
> 2932: mmap(0xFF0F0000, 32768, PROT_READ|PROT_EXEC,
> MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF0F0000
> 2932: mmap(0x00010000, 368640, PROT_NONE,
> MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFEDA0000
> ...
>
>
> Best regards
>
> -- Dago
> _______________________________________________
> maintainers mailing list
> maintainers at lists.opencsw.org
> https://lists.opencsw.org/mailman/listinfo/maintainers
> .:: This mailing list's archive is public. ::.
--
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