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