Fix signedness issue in ptrace emulation for 32-bit programs on 64-bit systems.

Ptrace emulation for 32-bit programs on 64-bits systems works again.
Fix name of qemu-ed processes, see commit 2bccead0 for details.
loader: Fix call to prctl(2); thou shalt not use functions as macro parameters.

When building the loader in -O0, the call site to basename() was
placed inside the syscall arguments preparation sequence.  As a
consequence, all previously prepared argument registers were
scratched.

Thanks-to: Christophe MONAT <christophe.monat@st.com> for the hint.
ptrace: Fix deduplication of WIFEXITED/WIFSIGNALED events

The Linux kernel reports the terminating event (WIFEXITED/WIFSIGNALED)
issued by a process to both its parent and its tracer, except when
they are the same.  In this case the Linux kernel reports the
terminating event only once to the tracing parent.

Previously, PRoot tried to honor this behavior by reporting only the
first terminating event (toward the tracer) and by hiding the second
one (toward the parent).  Sadly, this strategy leads to zombie
processes since the child status is not collected by its parent from a
kernel point-of-view.

For instance, when using GDB against a simple program:

    $ proot gdb ./a.out
    [...]
    (gdb) break main
    [...]
    (gdb) run
    [...]
    Breakpoint 1, 0x000000000040062c in main ()

Then looking at the process hierarchy:

- before:

    $ pstree -pa 8786
    gdb,8786 ./a.out
      |-a.out,8788
      `-(a.out,8791)

- now (it is just like without PRoot):

    $ pstree -pa 8786
    gdb,8786 ./a.out
      `-a.out,8791

It works correcly because PRoot now hides the first terminating event
(toward the tracer) and make the second one (toward the parent) appear
by restarting the wait syscall if needed.

Ref.: https://github.com/cedric-vincent/PRoot/issues/67