edit: For your question "what global symbols?", this is what I mean (the directly delivered executable from Company A).
[emk@ekdev2 IO]$ pwd
/tmp/par-656d6b/cache-08da00fae2ebdaf6d8f69a0988dac72d0e1f3d62/inc/lib
+/auto/IO
[emk@ekdev2 IO]$ nm -g IO.so
U PerlIO_getpos
U PerlIO_setpos
U PerlIO_tmpfile
U PerlIO_ungetc
U Perl_Isv_undef_ptr
U Perl_Isv_yes_ptr
U Perl_PerlIO_clearerr
U Perl_PerlIO_error
U Perl_PerlIO_fileno
U Perl_PerlIO_flush
...
0000000000001760 T boot_IO
U fcntl@@GLIBC_2.2.5
U fsync@@GLIBC_2.2.5
U poll@@GLIBC_2.2.5
U sockatmark@@GLIBC_2.2.5
The following is what I get when I run ldd -v IO.so on each machine. The outputs are exactly the same, apart from the memory addresses. I ran ldd on the test machine's IO.so found in /tmp/par-..., and I ran ldd on the build machine's IO.so found in /usr/lib64/perl5/auto/IO.
Just realized you probably meant to run ldd -v IO.so for the executable I got directly from Company A. I checked on that, and even that one has the same output for ldd -v.
linux-vdso.so.1 => (0x00007fff091de000)
libc.so.6 => /lib64/libc.so.6 (0x00007f1a0386b000)
/lib64/ld-linux-x86-64.so.2 (0x00007f1a03e47000)
Version information:
./IO.so:
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
/lib64/libc.so.6:
ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.
+2
ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64
+.so.2
|