Hi Junhao,
On Friday 09,April,2010 09:53 AM, Junhao wrote:
A couple of us dug further. It seems that dynamically linked binaries
have different md5sums, while static binaries have the same. Still not
quite sure why though...
Regards,
Junhao
If the systems had prelinking (popular in fedora a few years ago), all
of the the shared objects get rewritten with non-conflicting link
addresses (to avoid runtime relocation overhead). It is usually set up
in /etc/cron (check cron.daily, cron.weekly, etc)
I'm not sure if more recent linux systems use prelinking or not - it may
conflict with link address randomisation (a security mechanism, so that
exploits can't run code that targets known address offsets). e.g. look
at the link addresses of /bin/ls over two runs (on Debian Sid/2.6.32):
mcl...@monty:~$ ldd /bin/ls
libselinux.so.1 => /lib/libselinux.so.1 (0xb777f000)
librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb7776000)
libacl.so.1 => /lib/libacl.so.1 (0xb776e000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7627000)
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7623000)
/lib/ld-linux.so.2 (0xb77b6000)
libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb760a000)
libattr.so.1 => /lib/libattr.so.1 (0xb7605000)
mcl...@monty:~$ ldd /bin/ls
libselinux.so.1 => /lib/libselinux.so.1 (0xb788a000)
librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb7881000)
libacl.so.1 => /lib/libacl.so.1 (0xb7879000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7732000)
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb772e000)
/lib/ld-linux.so.2 (0xb78c1000)
libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb7715000)
libattr.so.1 => /lib/libattr.so.1 (0xb7710000)
_______________________________________________
LUGS Mailing list - [email protected]
List FAQ: http://wiki.lugs.org.sg/LugsMailingListFaq
Info page: http://www.lugs.org.sg/mailman/listinfo/slugnet
To unsubscribe send an empty email to: [email protected]