Instead of restoring the saved values of argc, argv and envp,
these must be loaded from the stack that _rtld() modifies.
This fixes rtld direct exec mode.
E.g.: /libexec/ld-elf.so.1 /bin/ls
Differential D21131
[PPC64] Fix rtld direct exec mode luporl on Aug 1 2019, 8:38 PM. Authored by Tags None Referenced Files
Details
Instead of restoring the saved values of argc, argv and envp, This fixes rtld direct exec mode.
Diff Detail
Event TimelineComment Actions A brief look at powerpc/rtld_start.S code seems to indicate that the same changes apply to powerpc. But it would be better for someone with 32-bit powerpc hardware to make the change and confirm it works fine. |