From Olaf Hering:

I should have looked earlier at this spec. This patch is required to
not overwrite the argv[0].

The stack is linked and a new function will write its address into the
previous frame. If _start doesnt adjust the stack, __libc_init will
write its address to elfdata+4 which is argv[0].
This patch allocates just one frame to avoid this corruption.

1 file changed