On Fri, 9 Nov 2018, Maciej W. Rozycki wrote: > > 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).
OK, I definitely got this confused. I did some checking and jessie didn't even have a 64-bit MIPS port. I got their build systems right though, and the kernel is 64-bit for systems that support it. > > 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. So with jessie you can install the `libc6-dev-mipsn32' package, which will get you n32 glibc development libraries and will pull the complementing n32 dynamic loader (at /lib32/ld.so.1 actually) and n32 glibc shared libraries as well. Unfortunately multilib support files, such as the CRT files, seem to be missing from GCC for n32 or I cannot find them. Otherwise you would be able to compile and link n32 binaries just by calling `gcc -mabi=n32'. Still the dynamic loader is directly runnable, as I noted above. HTH, Maciej