Michal Suchánek <msucha...@suse.de> writes: > On Tue, 03 Sep 2019 10:00:57 +1000 > Michael Ellerman <m...@ellerman.id.au> wrote: >> Michal Suchánek <msucha...@suse.de> writes: >> > On Mon, 02 Sep 2019 12:03:12 +1000 >> > Michael Ellerman <m...@ellerman.id.au> wrote: >> > >> >> Michal Suchanek <msucha...@suse.de> writes: >> >> > On bigendian ppc64 it is common to have 32bit legacy binaries but much >> >> > less so on littleendian. >> >> >> >> I think the toolchain people will tell you that there is no 32-bit >> >> little endian ABI defined at all, if anything works it's by accident. >> > >> > I have seen a piece of software that workarounds code issues on 64bit >> > by always compiling 32bit code. So it does work in some way. >> >> What software is that? > > The only one I have seen is stockfish (v9)
OK, not sure how many people are testing that on powerpc :) >> > Also it has been pointed out that you can still switch to BE even with >> > the 'fast-switch' removed. >> >> Yes we have a proper syscall for endian switching, sys_switch_endian(), >> which is definitely supported. >> >> But that *only* switches the endian-ness of the process, it does nothing >> to the syscall layer. So any process that switches to the other endian >> must endian flip syscall arguments (that aren't in registers), or flip >> back to the native endian before calling syscalls. > > In other words just installing a chroot of binaries built for the other > endian won't work. You need something like qemu to do the syscall > translation or run full VM with a kernel that has the swapped endian > syscall ABI. Yes that's right. cheers