title: ldd shows varied addresses on x86 Linux
body: <p>I am using <code>ldd</code> to show the dynamic library on Fedora/x86, and it shows different results each time it is used.</p>
  
  <p>Is that expected?  Or is there an explanation?</p>
  
  <p>I remember it shows a fixed result on PPC/Linux.</p>
  
  <pre><code>`ldd /bin/ls
   linux-gate.so.1 =&gt;  (0x00e5b000)
   librt.so.1 =&gt; /lib/librt.so.1 (0x00c0c000)
   libselinux.so.1 =&gt; /lib/libselinux.so.1 (0x0095d000)
   libcap.so.2 =&gt; /lib/libcap.so.2 (0x00110000)
   libacl.so.1 =&gt; /lib/libacl.so.1 (0x00331000)
   libc.so.6 =&gt; /lib/libc.so.6 (0x00115000)
   libpthread.so.0 =&gt; /lib/libpthread.so.0 (0x00bc9000)
   /lib/ld-linux.so.2 (0x009d2000)
   libdl.so.2 =&gt; /lib/libdl.so.2 (0x00680000)
   libattr.so.1 =&gt; /lib/libattr.so.1 (0x00447000)
  ldd /bin/ls
   linux-gate.so.1 =&gt;  (0x00f76000)
   librt.so.1 =&gt; /lib/librt.so.1 (0x00494000)
   libselinux.so.1 =&gt; /lib/libselinux.so.1 (0x0095d000)
   libcap.so.2 =&gt; /lib/libcap.so.2 (0x009e9000)
   libacl.so.1 =&gt; /lib/libacl.so.1 (0x00365000)
   libc.so.6 =&gt; /lib/libc.so.6 (0x00732000)
   libpthread.so.0 =&gt; /lib/libpthread.so.0 (0x00b61000)
   /lib/ld-linux.so.2 (0x002a7000)
   libdl.so.2 =&gt; /lib/libdl.so.2 (0x002f0000)
   libattr.so.1 =&gt; /lib/libattr.so.1 (0x00447000)`
  </code></pre>