In message <[EMAIL PROTECTED]>
on Thu, Mar 06, 2003 at 12:15:43PM +0000, Joe Orton wrote:
> Yes, that's why it is needed - though I'm surprised if this problem is
> unique to the linker used on Linux.
[...]
> I'm fairly sure I've had problems on IRIX before when the linker picks
> up libraries with a different ABI.

Okay, thanks for the clarification.

The reason it might not have come up for me is that on systems I use,
the vendor's linker is used. On an UltraSPARC II test box with gcc using
Sun's ccs linker:

solaris$ gcc -v
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.2.1/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as
--with-ld=/usr/ccs/bin/ld --disable-nls
Thread model: posix
gcc version 3.2.1
solaris$ /usr/bin/echo '#include <stdio.h>\nint main(void) { printf("Hello 
World!\\n"); }' > hello.c
solaris$ gcc -m32 -o hello32 hello.c
solaris$ gcc -m64 -o hello64 hello.c
solaris$ file hello32
hello32: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), dynamically linked (uses 
shared libs), not stripped
solaris$ file hello64
hello64: ELF 64-bit MSB executable, SPARC V9, version 1 (SYSV), dynamically linked 
(uses shared libs), not stripped
solaris$ LDPATH=-L/usr/lib\ -L/usr/lib/sparcv9 gcc -m64 -o hello64 hello.c
solaris$ ldd hello64
    libc.so.1 =>     /usr/lib/sparcv9/libc.so.1
    libdl.so.1 =>    /usr/lib/sparcv9/libdl.so.1
    /usr/platform/SUNW,Ultra-5_10/lib/sparcv9/libc_psr.so.1

On an Itanium host:

hp-ux$ gcc -v
Reading specs from /usr/local/lib/gcc-lib/ia64-hp-hpux11.20/3.0/specs
Thread model: posix
gcc version 3.0
hp-ux$ gcc -o hello32 hello.c
hp-ux$ file hello32
hello32:        ELF-32 executable object file - IA64
hp-ux$ ldd hello32
    libc.so.1 =>    /lib/hpux32/libc.so.1
    libdl.so.1 =>   /usr/lib/hpux32/libdl.so.1
    /opt/graphics/OpenGL/lib/hpux32/libogltls.so => 
/opt/graphics/OpenGL/lib/hpux32/libogltls.so
hp-ux$ LDPATH=/lib/hpux64\ /lib/hpux32 gcc -o hello32 hello.c
hp-ux$ ldd hello32
    libc.so.1 =>    /lib/hpux32/libc.so.1
    libdl.so.1 =>   /usr/lib/hpux32/libdl.so.1
    /opt/graphics/OpenGL/lib/hpux32/libogltls.so => 
/opt/graphics/OpenGL/lib/hpux32/libogltls.so
hp-ux$ cc +DD64 -o hello64 hello.c
hp-ux$ file hello64
hello64:        ELF-64 executable object file - IA64
hp-ux$ ldd hello64
    libc.so.1 =>    /usr/lib/hpux64/libc.so.1
    libdl.so.1 =>   /usr/lib/hpux64/libdl.so.1
hp-ux$ LDPATH=/lib/hpux32\ /lib/hpux64 cc +DD64 -o hello64 hello.c
hp-ux$ file hello64
hello64:        ELF-64 executable object file - IA64
hp-ux$ ldd hello64
    libc.so.1 =>    /usr/lib/hpux64/libc.so.1
    libdl.so.1 =>   /usr/lib/hpux64/libdl.so.1

(Acutally, I'm not sure that the last example attempted to do what I
wanted it to do.)



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to