On 04/09/2010 10:11 AM, Michael Clark wrote:
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)


Ahh.... That might explain it. Will check when I get back to office next week. FYI, we are testing on Redhat Enterprise Linux 5.x.

--
Regards,
Junhao

_______________________________________________
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]

Reply via email to