← Back to team overview

cross-toolchain-base-devs team mailing list archive

Bug#881576: cross-toolchain-base-ports: add mipsn32 and mips r6 support

 

Package: src:cross-toolchain-base-ports
Version: 12
Control: block -1 by 881147 881454 881455 881457 881575

Please add mips n32 and mips r6 support to cross-toolchain-base-ports.
As we need to add the support to glibc and gcc-6,
so this bug is blocked by them.

-- 
YunQiang Su
diff --git a/debian/kernelarch.make b/debian/kernelarch.make
index a76c9ab..252d731 100644
--- a/debian/kernelarch.make
+++ b/debian/kernelarch.make
@@ -13,8 +13,16 @@ KERNEL_ARCH_m68k:=m68k
 KERNEL_ARCH_hppa:=parisc
 KERNEL_ARCH_mips:=mips
 KERNEL_ARCH_mipsel:=mips
+KERNEL_ARCH_mipsn32:=mips
+KERNEL_ARCH_mipsn32el:=mips
 KERNEL_ARCH_mips64:=mips
 KERNEL_ARCH_mips64el:=mips
+KERNEL_ARCH_mipsr6:=mips
+KERNEL_ARCH_mipsr6el:=mips
+KERNEL_ARCH_mipsn32r6:=mips
+KERNEL_ARCH_mipsn32r6el:=mips
+KERNEL_ARCH_mips64r6:=mips
+KERNEL_ARCH_mips64r6el:=mips
 KERNEL_ARCH_powerpc:=powerpc
 KERNEL_ARCH_powerpcspe:=powerpc
 KERNEL_ARCH_ppc64:=powerpc
diff --git a/debian/rules b/debian/rules
index 4119604..e480308 100755
--- a/debian/rules
+++ b/debian/rules
@@ -37,7 +37,8 @@ ifeq ($(DEB_NAME_ACT),cross-toolchain-base)
 else
   CROSS_ARCHS  ?= alpha hppa m68k mips64 powerpc ppc64 sh4 sparc64 \
 			$(if $(filter $(vendor), Ubuntu), mips mipsel mips64el) \
-			powerpcspe
+			powerpcspe mipsn32 mipsn32el \
+			mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el
 endif
 CROSS_ARCH       = $(subst .,,$(suffix $@))
 KERNEL_ARCH      = $(KERNEL_ARCH_$(CROSS_ARCH))
@@ -273,13 +274,19 @@ endif
 	  dpkg-deb -x lib64gcc-${VER_GCC_BASE}-dev-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
 		debian/tmp.${CROSS_ARCH} \
 	)
-	$(if $(filter $(CROSS_ARCH),mips mipsel), \
+	$(if $(filter $(CROSS_ARCH),mips mipsel mipsr6 mipsr6el), \
 	  dpkg-deb -x lib64gcc-${VER_GCC_BASE}-dev-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
 		debian/tmp.${CROSS_ARCH}; \
 	  dpkg-deb -x libn32gcc-${VER_GCC_BASE}-dev-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
 		debian/tmp.${CROSS_ARCH} \
 	)
-	$(if $(filter $(CROSS_ARCH),mips64 mips64el), \
+	$(if $(filter $(CROSS_ARCH),mipsn32 mipsn32el mipsn32r6 mipsn32r6el), \
+	  dpkg-deb -x lib64gcc-${VER_GCC_BASE}-dev-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
+		debian/tmp.${CROSS_ARCH}; \
+	  dpkg-deb -x lib32gcc-${VER_GCC_BASE}-dev-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
+		debian/tmp.${CROSS_ARCH} \
+	)
+	$(if $(filter $(CROSS_ARCH),mips64 mips64el mips64r6 mips64r6el), \
 	  dpkg-deb -x lib32gcc-${VER_GCC_BASE}-dev-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
 		debian/tmp.${CROSS_ARCH}; \
 	  dpkg-deb -x libn32gcc-${VER_GCC_BASE}-dev-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
@@ -343,7 +350,7 @@ endif
 	  dpkg-deb -x lib64gcc-${VER_GCC_BASE}-dev-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
 		debian/tmp.${CROSS_ARCH} \
 	)
-	$(if $(filter $(CROSS_ARCH),mips mipsel), \
+	$(if $(filter $(CROSS_ARCH),mips mipsel mipsr6 mipsr6el), \
 	  dpkg-deb -x lib64gcc1-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
 		debian/tmp.${CROSS_ARCH}; \
 	  dpkg-deb -x lib64gcc-${VER_GCC_BASE}-dev-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
@@ -353,7 +360,17 @@ endif
 	  dpkg-deb -x libn32gcc-${VER_GCC_BASE}-dev-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
 		debian/tmp.${CROSS_ARCH} \
 	)
-	$(if $(filter $(CROSS_ARCH),mips64 mips64el), \
+	$(if $(filter $(CROSS_ARCH),mipsn32 mipsn32el mipsn32r6 mipsn32r6el), \
+	  dpkg-deb -x lib64gcc1-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
+		debian/tmp.${CROSS_ARCH}; \
+	  dpkg-deb -x lib64gcc-${VER_GCC_BASE}-dev-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
+		debian/tmp.${CROSS_ARCH}; \
+	  dpkg-deb -x lib32gcc1-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
+		debian/tmp.${CROSS_ARCH}; \
+	  dpkg-deb -x lib32gcc-${VER_GCC_BASE}-dev-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
+		debian/tmp.${CROSS_ARCH} \
+	)
+	$(if $(filter $(CROSS_ARCH),mips64 mips64el mips64r6 mips64r6el), \
 	  dpkg-deb -x lib32gcc1-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
 		debian/tmp.${CROSS_ARCH}; \
 	  dpkg-deb -x lib32gcc-${VER_GCC_BASE}-dev-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb \
@@ -437,11 +454,15 @@ endif
 	$(if $(filter $(CROSS_ARCH),powerpc), \
 	  dpkg-deb -x libc6-dev-ppc64_${DEB_VER_GLIBC}_${CROSS_ARCH}.deb debian/tmp.${CROSS_ARCH} \
 	)
-	$(if $(filter $(CROSS_ARCH),mips mipsel), \
+	$(if $(filter $(CROSS_ARCH),mips mipsel mipsr6 mipsr6el), \
 	  dpkg-deb -x libc6-dev-mips64_${DEB_VER_GLIBC}_${CROSS_ARCH}.deb debian/tmp.${CROSS_ARCH}; \
 	  dpkg-deb -x libc6-dev-mipsn32_${DEB_VER_GLIBC}_${CROSS_ARCH}.deb debian/tmp.${CROSS_ARCH} \
 	)
-	$(if $(filter $(CROSS_ARCH),mips64 mips64el), \
+	$(if $(filter $(CROSS_ARCH),mipsn32 mipsn32el mipsn32r6 mipsn32r6el), \
+	  dpkg-deb -x libc6-dev-mips64_${DEB_VER_GLIBC}_${CROSS_ARCH}.deb debian/tmp.${CROSS_ARCH}; \
+	  dpkg-deb -x libc6-dev-mips32_${DEB_VER_GLIBC}_${CROSS_ARCH}.deb debian/tmp.${CROSS_ARCH} \
+	)
+	$(if $(filter $(CROSS_ARCH),mips64 mips64el mips64r6 mips64r6el), \
 	  dpkg-deb -x libc6-dev-mips32_${DEB_VER_GLIBC}_${CROSS_ARCH}.deb debian/tmp.${CROSS_ARCH}; \
 	  dpkg-deb -x libc6-dev-mipsn32_${DEB_VER_GLIBC}_${CROSS_ARCH}.deb debian/tmp.${CROSS_ARCH} \
 	)
@@ -557,6 +578,20 @@ ifneq (,$(filter mipsel, $(CROSS_ARCHS)))
 	libc6-mipsn32-mipsel-cross_${VER_GLIBC}-*_all.deb \
 	libc6-dev-mipsn32-mipsel-cross_${VER_GLIBC}-*_all.deb
 endif
+ifneq (,$(filter mipsn32, $(CROSS_ARCHS)))
+  DEB_LIST_MANGLED += \
+	libc6-mips64-mipsn32-cross_${VER_GLIBC}-*_all.deb \
+	libc6-dev-mips64-mipsn32-cross_${VER_GLIBC}-*_all.deb \
+	libc6-mips32-mipsn32-cross_${VER_GLIBC}-*_all.deb \
+	libc6-dev-mips32-mipsn32-cross_${VER_GLIBC}-*_all.deb
+endif
+ifneq (,$(filter mipsn32el, $(CROSS_ARCHS)))
+  DEB_LIST_MANGLED += \
+	libc6-mips64-mipsn32el-cross_${VER_GLIBC}-*_all.deb \
+	libc6-dev-mips64-mipsn32el-cross_${VER_GLIBC}-*_all.deb \
+	libc6-mips32-mipsn32el-cross_${VER_GLIBC}-*_all.deb \
+	libc6-dev-mips32-mipsn32el-cross_${VER_GLIBC}-*_all.deb
+endif
 ifneq (,$(filter mips64, $(CROSS_ARCHS)))
   DEB_LIST_MANGLED += \
 	libc6-mips32-mips64-cross_${VER_GLIBC}-*_all.deb \
@@ -571,6 +606,48 @@ ifneq (,$(filter mips64el, $(CROSS_ARCHS)))
 	libc6-mipsn32-mips64el-cross_${VER_GLIBC}-*_all.deb \
 	libc6-dev-mipsn32-mips64el-cross_${VER_GLIBC}-*_all.deb
 endif
+ifneq (,$(filter mipsr6, $(CROSS_ARCHS)))
+  DEB_LIST_MANGLED += \
+	libc6-mips64-mipsr6-cross_${VER_GLIBC}-*_all.deb \
+	libc6-dev-mips64-mipsr6-cross_${VER_GLIBC}-*_all.deb \
+	libc6-mipsn32-mipsr6-cross_${VER_GLIBC}-*_all.deb \
+	libc6-dev-mipsn32-mipsr6-cross_${VER_GLIBC}-*_all.deb
+endif
+ifneq (,$(filter mipsr6el, $(CROSS_ARCHS)))
+  DEB_LIST_MANGLED += \
+	libc6-mips64-mipsr6el-cross_${VER_GLIBC}-*_all.deb \
+	libc6-dev-mips64-mipsr6el-cross_${VER_GLIBC}-*_all.deb \
+	libc6-mipsn32-mipsr6el-cross_${VER_GLIBC}-*_all.deb \
+	libc6-dev-mipsn32-mipsr6el-cross_${VER_GLIBC}-*_all.deb
+endif
+ifneq (,$(filter mipsn32r6, $(CROSS_ARCHS)))
+  DEB_LIST_MANGLED += \
+	libc6-mips64-mipsn32r6-cross_${VER_GLIBC}-*_all.deb \
+	libc6-dev-mips64-mipsn32r6-cross_${VER_GLIBC}-*_all.deb \
+	libc6-mips32-mipsn32r6-cross_${VER_GLIBC}-*_all.deb \
+	libc6-dev-mips32-mipsn32r6-cross_${VER_GLIBC}-*_all.deb
+endif
+ifneq (,$(filter mipsn32r6el, $(CROSS_ARCHS)))
+  DEB_LIST_MANGLED += \
+	libc6-mips64-mipsn32r6el-cross_${VER_GLIBC}-*_all.deb \
+	libc6-dev-mips64-mipsn32r6el-cross_${VER_GLIBC}-*_all.deb \
+	libc6-mips32-mipsn32r6el-cross_${VER_GLIBC}-*_all.deb \
+	libc6-dev-mips32-mipsn32r6el-cross_${VER_GLIBC}-*_all.deb
+endif
+ifneq (,$(filter mips64r6, $(CROSS_ARCHS)))
+  DEB_LIST_MANGLED += \
+	libc6-mips32-mips64r6-cross_${VER_GLIBC}-*_all.deb \
+	libc6-dev-mips32-mips64r6-cross_${VER_GLIBC}-*_all.deb \
+	libc6-mipsn32-mips64r6-cross_${VER_GLIBC}-*_all.deb \
+	libc6-dev-mipsn32-mips64r6-cross_${VER_GLIBC}-*_all.deb
+endif
+ifneq (,$(filter mips64r6el, $(CROSS_ARCHS)))
+  DEB_LIST_MANGLED += \
+	libc6-mips32-mips64r6el-cross_${VER_GLIBC}-*_all.deb \
+	libc6-dev-mips32-mips64r6el-cross_${VER_GLIBC}-*_all.deb \
+	libc6-mipsn32-mips64r6el-cross_${VER_GLIBC}-*_all.deb \
+	libc6-dev-mipsn32-mips64r6el-cross_${VER_GLIBC}-*_all.deb
+endif
 
 #           libgcc1-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb  \
 #           libgcc1-dbg-${CROSS_ARCH}-cross_${DEB_VER_GCC}_all.deb  \
@@ -773,6 +850,18 @@ $(stamp)repack-debs-indep: $(stamp)dpkg-cross
 		libc6-mipsn32-mipsel-cross_${DEB_VER_GLIBC}_all.deb \
 		libc6-dev-mipsn32-mipsel-cross_${DEB_VER_GLIBC}_all.deb \
 	    ) \
+	    $(if $(filter mipsn32, $(CROSS_ARCHS)), \
+		libc6-mips64-mipsn32-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-dev-mips64-mipsn32-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-mips32-mipsn32-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-dev-mips32-mipsn32-cross_${DEB_VER_GLIBC}_all.deb \
+	    ) \
+	    $(if $(filter mipsn32el, $(CROSS_ARCHS)), \
+		libc6-mips64-mipsn32el-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-dev-mips64-mipsn32el-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-mips32-mipsn32el-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-dev-mips32-mipsn32el-cross_${DEB_VER_GLIBC}_all.deb \
+	    ) \
 	    $(if $(filter mips64, $(CROSS_ARCHS)), \
 		libc6-mips32-mips64-cross_${DEB_VER_GLIBC}_all.deb \
 		libc6-dev-mips32-mips64-cross_${DEB_VER_GLIBC}_all.deb \
@@ -785,6 +874,42 @@ $(stamp)repack-debs-indep: $(stamp)dpkg-cross
 		libc6-mipsn32-mips64el-cross_${DEB_VER_GLIBC}_all.deb \
 		libc6-dev-mipsn32-mips64el-cross_${DEB_VER_GLIBC}_all.deb \
 	    ) \
+	    $(if $(filter mipsr6, $(CROSS_ARCHS)), \
+		libc6-mips64-mipsr6-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-dev-mips64-mipsr6-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-mipsn32-mipsr6-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-dev-mipsn32-mipsr6-cross_${DEB_VER_GLIBC}_all.deb \
+	    ) \
+	    $(if $(filter mipsr6el, $(CROSS_ARCHS)), \
+		libc6-mips64-mipsr6el-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-dev-mips64-mipsr6el-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-mipsn32-mipsr6el-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-dev-mipsn32-mipsr6el-cross_${DEB_VER_GLIBC}_all.deb \
+	    ) \
+	    $(if $(filter mipsn32r6, $(CROSS_ARCHS)), \
+		libc6-mips64-mipsn32r6-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-dev-mips64-mipsn32r6-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-mips32-mipsn32r6-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-dev-mips32-mipsn32r6-cross_${DEB_VER_GLIBC}_all.deb \
+	    ) \
+	    $(if $(filter mipsn32r6el, $(CROSS_ARCHS)), \
+		libc6-mips64-mipsn32r6el-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-dev-mips64-mipsn32r6el-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-mips32-mipsn32r6el-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-dev-mips32-mipsn32r6el-cross_${DEB_VER_GLIBC}_all.deb \
+	    ) \
+	    $(if $(filter mips64r6, $(CROSS_ARCHS)), \
+		libc6-mips32-mips64r6-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-dev-mips32-mips64r6-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-mipsn32-mips64r6-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-dev-mipsn32-mips64r6-cross_${DEB_VER_GLIBC}_all.deb \
+	    ) \
+	    $(if $(filter mips64r6el, $(CROSS_ARCHS)), \
+		libc6-mips32-mips64r6el-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-dev-mips32-mips64r6el-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-mipsn32-mips64r6el-cross_${DEB_VER_GLIBC}_all.deb \
+		libc6-dev-mipsn32-mips64r6el-cross_${DEB_VER_GLIBC}_all.deb \
+	    ) \
 	)))
 
 build: $(stamp)build
@@ -981,6 +1106,18 @@ ifneq (,$(filter mipsel, $(CROSS_ARCHS)))
 	sed -e "s/CROSS_ARCH/mipsel/g;s/CROSS_TRIARCH/mipsn32/g" \
 		debian/control.trilib.in >> debian/control
 endif
+ifneq (,$(filter mipsn32, $(CROSS_ARCHS)))
+	sed -e "s/CROSS_ARCH/mipsn32/g;s/CROSS_BIARCH/mips64/g" \
+		debian/control.multilib.in >> debian/control
+	sed -e "s/CROSS_ARCH/mipsn32/g;s/CROSS_TRIARCH/mips32/g" \
+		debian/control.trilib.in >> debian/control
+endif
+ifneq (,$(filter mipsn32el, $(CROSS_ARCHS)))
+	sed -e "s/CROSS_ARCH/mipsn32el/g;s/CROSS_BIARCH/mips64/g" \
+		debian/control.multilib.in >> debian/control
+	sed -e "s/CROSS_ARCH/mipsn32el/g;s/CROSS_TRIARCH/mips32/g" \
+		debian/control.trilib.in >> debian/control
+endif
 ifneq (,$(filter mips64, $(CROSS_ARCHS)))
 	sed -e "s/CROSS_ARCH/mips64/g;s/CROSS_BIARCH/mips32/g" \
 		debian/control.multilib.in >> debian/control
@@ -992,6 +1129,42 @@ ifneq (,$(filter mips64el, $(CROSS_ARCHS)))
 		debian/control.multilib.in >> debian/control
 	sed -e "s/CROSS_ARCH/mips64el/g;s/CROSS_TRIARCH/mipsn32/g" \
 		debian/control.trilib.in >> debian/control
+endif
+ifneq (,$(filter mipsr6, $(CROSS_ARCHS)))
+	sed -e "s/CROSS_ARCH/mipsr6/g;s/CROSS_BIARCH/mips64/g" \
+		debian/control.multilib.in >> debian/control
+	sed -e "s/CROSS_ARCH/mipsr6/g;s/CROSS_TRIARCH/mipsn32/g" \
+		debian/control.trilib.in >> debian/control
+endif
+ifneq (,$(filter mipsr6el, $(CROSS_ARCHS)))
+	sed -e "s/CROSS_ARCH/mipsr6el/g;s/CROSS_BIARCH/mips64/g" \
+		debian/control.multilib.in >> debian/control
+	sed -e "s/CROSS_ARCH/mipsr6el/g;s/CROSS_TRIARCH/mipsn32/g" \
+		debian/control.trilib.in >> debian/control
+endif
+ifneq (,$(filter mipsn32r6, $(CROSS_ARCHS)))
+	sed -e "s/CROSS_ARCH/mipsn32r6/g;s/CROSS_BIARCH/mips64/g" \
+		debian/control.multilib.in >> debian/control
+	sed -e "s/CROSS_ARCH/mipsn32r6/g;s/CROSS_TRIARCH/mips32/g" \
+		debian/control.trilib.in >> debian/control
+endif
+ifneq (,$(filter mipsn32r6el, $(CROSS_ARCHS)))
+	sed -e "s/CROSS_ARCH/mipsn32r6el/g;s/CROSS_BIARCH/mips64/g" \
+		debian/control.multilib.in >> debian/control
+	sed -e "s/CROSS_ARCH/mipsn32r6el/g;s/CROSS_TRIARCH/mips32/g" \
+		debian/control.trilib.in >> debian/control
+endif
+ifneq (,$(filter mips64r6, $(CROSS_ARCHS)))
+	sed -e "s/CROSS_ARCH/mips64r6/g;s/CROSS_BIARCH/mips32/g" \
+		debian/control.multilib.in >> debian/control
+	sed -e "s/CROSS_ARCH/mips64r6/g;s/CROSS_TRIARCH/mipsn32/g" \
+		debian/control.trilib.in >> debian/control
+endif
+ifneq (,$(filter mips64r6el, $(CROSS_ARCHS)))
+	sed -e "s/CROSS_ARCH/mips64r6el/g;s/CROSS_BIARCH/mips32/g" \
+		debian/control.multilib.in >> debian/control
+	sed -e "s/CROSS_ARCH/mips64r6el/g;s/CROSS_TRIARCH/mipsn32/g" \
+		debian/control.trilib.in >> debian/control
 endif
 	echo 'foobar' > debian/no-packages
 	python3 debian/remove-unbuilt \