title: Using dynamic linker with qemu-arm
body: <p>I have a very simple arm executable compiled with the <code>arm-linux-gnueabi</code> toolchain. I can execute it with <code>qemu-arm</code> without any problem:</p>
  
  <pre><code>$ qemu-arm -L /usr/arm-linux-gnueabi/ ./a.out
  Hello world !
  </code></pre>
  
  <p>Running the linker without any argument seems to work as well:</p>
  
  <pre><code>qemu-arm /usr/arm-linux-gnueabi/lib/ld-linux.so.3
  Usage: ld.so [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
  You have invoked `ld.so', the helper program for shared library executables.
  ...
  </code></pre>
  
  <p>However if I want the linker to run my executable, here is what happens:</p>
  
  <pre><code>$ qemu-arm -L /usr/arm-linux-gnueabi/ /usr/arm-linux-gnueabi/lib/ld-linux.so.3 a.out
  a.out: error while loading shared libraries: a.out: cannot open shared object file
  </code></pre>
  
  <p>Here is the output of strace: <a href="https://pastebin.com/uJ7AhBdh" rel="nofollow noreferrer">https://pastebin.com/uJ7AhBdh</a></p>
  
  <p>Any idea why this is happening ?</p>