What GNU triplet should be for mipsn64 (Re: mips64eb seems to be mostly 32-bit)

Rin Okuyama <[email protected]>
Newsgroups gmane.os.netbsd.ports.mips.devel,gmane.os.netbsd.devel.toolchain
Message-ID <[email protected]>
Hi,

On 2021/07/04 11:26, Denis Ovsienko wrote:
> * pkgsrc-2021Q2 fails to build Autoconf-driven packages because the
>    latter is not aware of the new build name.
> 
> checking build system type... Invalid configuration
> `mipsn64eb-unknown-netbsd9.99': machine `mipsn64eb-unknown' not
> recognized

With the attached patch, some packages including python38 and perl5
build successfully for me on my erlite.

However, I'm not sure what GNU triplets should be for mipsn64e[bl].

In the attached patch, I used mips64- and mips64el-unknown-netbsd for
mipsn64eb and el, respectively. However, these are indistinguishable
with conventional mips64e[bl] ones.

IMO, mips64e[bl] should not really advertise themselves as mips64,
since their userlands are n32. But it is too late to correct...

Ideas?

Thanks,
rin
pkgsrc_mipsn64.patch (text/plain, 2.3 KB)
Index: pkgsrc/mk/bsd.prefs.mk
===================================================================
RCS file: /cvsroot/pkgsrc/mk/bsd.prefs.mk,v
retrieving revision 1.409
diff -p -u -r1.409 bsd.prefs.mk
--- pkgsrc/mk/bsd.prefs.mk	2 Jul 2021 12:03:24 -0000	1.409
+++ pkgsrc/mk/bsd.prefs.mk	5 Jul 2021 09:47:24 -0000
@@ -124,6 +124,8 @@ GNU_ARCH.mips?=		mipsel
 GNU_ARCH.sh3eb?=	sh
 GNU_ARCH.sh3el?=	shle
 GNU_ARCH.mips64eb?=	mips64
+GNU_ARCH.mipsn64eb?=	mips64
+GNU_ARCH.mipsn64el?=	mips64el
 NATIVE_MACHINE_GNU_ARCH?=	${GNU_ARCH.${NATIVE_MACHINE_ARCH}:U${NATIVE_MACHINE_ARCH}}
 MACHINE_GNU_ARCH?=		${GNU_ARCH.${MACHINE_ARCH}:U${MACHINE_ARCH}}
 
@@ -854,17 +856,18 @@ LP32PLATFORMS=		*-*-earm* *-*-hppa *-*-i
 # Keywords: BROKEN_ON_PLATFORM 64bit
 #
 LP64PLATFORMS=		*-*-aarch64 *-*-aarch64eb *-*-alpha *-*-ia64 \
-			*-*-powerpc64 *-*-riscv64 *-*-sparc64 *-*-x86_64
+			*-*-mipsn64* *-*-powerpc64 *-*-riscv64 *-*-sparc64 \
+			*-*-x86_64
 
 # Lists of big-endian and little-endian platforms, to be used with
 # BROKEN_ON_PLATFORM.
 #
 # Keywords: BROKEN_ON_PLATFORM little-endian big-endian endian
 #
-_BIGENDIANCPUS=		coldfire hppa m68000 m68k mips64eb mipseb or1k \
-			powerpc powerpc64 sh3eb sparc sparc64
-_LITTLEENDIANCPUS=	alpha i386 ia64 mips64el mipsel powerpc64le riscv32 \
-			riscv64 sh3el vax x86_64
+_BIGENDIANCPUS=		coldfire hppa m68000 m68k mips64eb mipseb mipsn64eb \
+			or1k powerpc powerpc64 sh3eb sparc sparc64
+_LITTLEENDIANCPUS=	alpha i386 ia64 mips64el mipsel mipsn64el powerpc64le \
+			riscv32 riscv64 sh3el vax x86_64
 
 # piles of ARM variants
 _ARMCPUS+=		arm earm earmhf earmv4 earmv5 earmv6 earmv6hf
Index: pkgsrc/mk/gnu-config/config.guess
===================================================================
RCS file: /cvsroot/pkgsrc/mk/gnu-config/config.guess,v
retrieving revision 1.23
diff -p -u -r1.23 config.guess
--- pkgsrc/mk/gnu-config/config.guess	20 Oct 2020 10:40:19 -0000	1.23
+++ pkgsrc/mk/gnu-config/config.guess	5 Jul 2021 09:47:25 -0000
@@ -185,6 +185,8 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAM
 	    aarch64eb) machine=aarch64_be-unknown ;;
 	    armeb) machine=armeb-unknown ;;
 	    arm*) machine=arm-unknown ;;
+	    mipsn64eb) machine=mips64-unknown ;;
+	    mipsn64el) machine=mips64el-unknown ;;
 	    sh3el) machine=shl-unknown ;;
 	    sh3eb) machine=sh-unknown ;;
 	    sh5el) machine=sh5le-unknown ;;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.