(Converting to plain text, apologies for the formatting mess that makes) MIPS does not yet have a MIPS64 port of debian in stable, (nor testing for that matter) so these boards are running a MIPS64 kernel with MIPS32 debian.
MIPS64R2 debian is however coming up through 'sid' now. Fedora ports are also in progress. The compiler is a multilib compiler where o32 is the default and n32 and n64 are also available. It can be unsettling to see a mips-linux-gnu targeted compiler generate n32 or n64 code but it is a supported configuration. The configuration for the system compiler is: --with-arch-32=mips2 --with-tune-32=mips32 --enable-targets=all --with-arch-64=mips3 --with-tune-64=mips64 --target=mips-linux-gnu So you will actually generate MIPS II and MIPS III code by default if you do not specify an architecture. In some ways I suggest new projects aim for MIPS32R2 as a minimum arch as it will simplify any hand written assembly. I suggest being explicit about what ABI you want in general even if it happens to match the default as assuming o32 will generally not hold true for a mips64-linux-gnu compiler. Specifying the architecture can be useful when you have a specific need but due to the introduction of MIPS Release 6 then software that forces an architecture will break when moving to R6 as R2 and R6 objects cannot be statically linked together; shared libraries between R2 and R6 can however link. Hope that sheds some light on the situation. Thanks, Matthew --- From: Gcc-cfarm-users [mailto:gcc-cfarm-users-boun...@gna.org] On Behalf Of Paul Hargrove Sent: 21 April 2016 11:01 To: Carl Eugen Hoyos Cc: Rich Felker; gcc-cfarm-users Subject: Re: [Gcc-cfarm-users] gcc22/23/24: three new mips64r2 Cavium Octeon II V0.1 machines ERPro-8 Carl, I cannot answer for why 32-bit is the default, but it is not so uncommon. Here is Debian Wheezy on PPC64: debian@wheezy:~$ uname -a Linux wheezy 3.2.0-4-powerpc64 #1 SMP Debian 3.2.68-1+deb7u1 ppc64 GNU/Linux debian@wheezy:~$ gcc hello.c debian@wheezy:~$ file a.out a.out: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x7aa335bac96e4f56ae4cdf5a3823a359e3d90585, with unknown capability 0x41000000 = 0x13676e75, with unknown capability 0x10000 = 0xb0401, not stripped Debian Wheezy on SPARC64: phargrov@sparc64:~$ uname -a Linux sparc64 3.2.0-4-sparc64 #1 Debian 3.2.78-1 sparc64 GNU/Linux phargrov@sparc64:~$ gcc hello.c phargrov@sparc64:~$ file a.out a.out: ELF 32-bit MSB executable, SPARC32PLUS, V8+ Required, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0xcc3e4759e903d238cc9afe4ea5e9c5ebe6ab1b77, not stripped So, I am not surprised at all that the same is true for Debian on MIPS64. Same on Solaris for x86-64, FWIW. -Paul On Thu, Apr 21, 2016 at 2:45 AM, Carl Eugen Hoyos <ceho...@ag.or.at> wrote: Hi! On Wed, 20 Apr 2016, Paul Hargrove wrote: Rich, The *default* ABI is "32", but (at least) "-mabi=64" and "-mabi=m32" are available I also found out yesterday that -mabi=64 is needed but I wonder why 32bit is the default: I would be very surprised if my compiler on Linux x86-64 (that also supports x86-32) would not default to 64 bit. Carl Eugen -- Paul H. Hargrove phhargr...@lbl.gov Computer Languages & Systems Software (CLaSS) Group Computer Science Department Tel: +1-510-495-2352 Lawrence Berkeley National Laboratory Fax: +1-510-486-6900 _______________________________________________ Gcc-cfarm-users mailing list Gcc-cfarm-users@gna.org https://mail.gna.org/listinfo/gcc-cfarm-users