Re: ppc64le and 32-bit LE userland compatibility
From: Christophe Leroy <hidden>
Date: 2020-06-12 05:48:16
Le 06/06/2020 à 01:54, Will Springer a écrit :
On Saturday, May 30, 2020 3:17:24 PM PDT Will Springer wrote:quoted
On Saturday, May 30, 2020 8:37:43 AM PDT Christophe Leroy wrote:quoted
There is a series at https://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=173231 to switch powerpc to the Generic C VDSO. Can you try and see whether it fixes your issue ? ChristopheSure thing, I spotted that after making the initial post. Will report back with results. Will [she/her]Sorry for the wait, I just sat down to work on this again yesterday. Tested this series on top of stable/linux-5.7.y (5.7.0 at the time of writing), plus the one-line signal handler patch. Had to rewind to the state of powerpc/merge at the time of the mail before the patch would apply, then cherry-picked to 5.6 until I realized the patchset used some functionality that didn't land until 5.7, so I moved it there. Good news is that `date` now works correctly with the vdso call in 32-bit LE. Bad news is it seems to have broken things on the 64-bit side—in my testing, Void kicks off runit but hangs after starting eudev, and in a Debian Stretch system, systemd doesn't get to the point of printing anything whatsoever. (I had to `init=/bin/sh` to confirm the date worked in ppcle, although in ppc64le running `date` also hung the system when it made the vdso call...) Not sure how to approach debugging that, so I'd appreciate any pointers.
Does it breaks only ppc64le vdso or also ppc64 (be) vdso ? I never had a chance to run any test on ppc64 as I only have a kernel cross compiler. Would you have a chance to build and run vdsotest from https://github.com/nathanlynch/vdsotest ? Thanks Christophe