On Fri, 9 Nov 2018, Laurent Vivier wrote: > > I believe MIPS64 Debian is all n32. > > Some readelf results: > > mips64el/stretch > > Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 > Class: ELF64 > Flags: 0x80000007, noreorder, pic, cpic, mips64r2
Hmm, that's weird -- what executable did you check? There may be some that are n64, or maybe they've switched (which I would applaud, FWIW). I remember seeing mostly n32, with minimal support for n64, but that was a while ago -- jessie or suchlike, I believe. Using MIPS64r2 as the base ISA also looks new to me, that used to be plain MIPS III, and some of Debian's MIPS build systems used to be either MIPS III (Lemote Loongson) or MIPS64r1 (Broadcom SiByte). > Are there any distros that are 32bit but n32? You need 64-bit hardware for n32, so you can't do a 32-bit distribution with n32. FAOD n32 is ILP32 with 64-bit `long long' and 64-bit stack slots both using the native 64-bit register width. > Any binaries that need qemu-mipsn32 or qemu-mipsn32el? I'd expect at least the n32 dynamic loader (along with libc and some other essential DSOs) to be present with MIPS64 Debian. Traditionally, under the FHS rules, it would be installed as /lib32/ld.so.1 (with the o32 one as /lib/ld.so.1 and the n64 as /lib64/ld.so.1), but Debian uses their own multiarch filesystem layout standard, and offhand I don't remember what the paths are defined to there. Anyway, once you have tracked down the `ld.so.1' binary you can invoke it directly for some output, and it should be good enough for your smoke test purposes IIUC. I am away travelling through the end of this week and I have limited access to resources. I can help more once I am back next week. Maciej