diff -pruN 29/debian/changelog 29ubuntu2/debian/changelog
--- 29/debian/changelog	2024-07-31 09:22:16.000000000 +0000
+++ 29ubuntu2/debian/changelog	2024-08-07 04:46:48.000000000 +0000
@@ -18,6 +34,39 @@ cross-toolchain-base-mipsen (28) unstabl
 
  -- YunQiang Su <syq@debian.org>  Sun, 26 May 2024 23:40:24 +0800
 
+cross-toolchain-base-mipsen (27ubuntu4) noble; urgency=medium
+
+  * Fix linker location for mips* o32 multilibs.
+
+ -- Matthias Klose <doko@ubuntu.com>  Tue, 16 Apr 2024 21:33:22 +0200
+
+cross-toolchain-base-mipsen (27ubuntu3) noble; urgency=medium
+
+  * Build using glibc 2.39-0ubuntu8.
+  * Build using linux 6.8.0.
+  * Build using gcc 12.3.0-23.
+  * Build using binutils 2.42-4.
+  * Define _DISTRO_EVADE_TIME_BITS for the build, not setting _TIME_BITS
+    and _FILE_OFFSET_BITS in the compiler by default.
+    See https://sourceware.org/bugzilla/show_bug.cgi?id=31624.
+
+ -- Matthias Klose <doko@ubuntu.com>  Mon, 15 Apr 2024 16:40:58 +0200
+
+cross-toolchain-base-mipsen (27ubuntu2) noble; urgency=medium
+
+  * Build using glibc 2.38.90.
+  * Build using linux 6.6.0.
+
+ -- Matthias Klose <doko@ubuntu.com>  Sat, 03 Feb 2024 10:56:51 +0100
+
+cross-toolchain-base-mipsen (27ubuntu1) noble; urgency=medium
+
+  * Merge with Debian; remaining changes:
+    - Update linux version number.
+  * Regenerate the control file.
+
+ -- Matthias Klose <doko@ubuntu.com>  Tue, 30 Jan 2024 15:20:03 +0100
+
 cross-toolchain-base-mipsen (27) unstable; urgency=medium
 
   * Build using linux 6.6.11-1.
@@ -44,6 +93,18 @@ cross-toolchain-base-mipsen (25) unstabl
 
  -- YunQiang Su <syq@debian.org>  Tue, 15 Aug 2023 15:21:47 +0800
 
+cross-toolchain-base-mipsen (24ubuntu2) lunar; urgency=medium
+
+  * Update linux version number.
+
+ -- Matthias Klose <doko@ubuntu.com>  Mon, 06 Feb 2023 19:22:57 +0100
+
+cross-toolchain-base-mipsen (24ubuntu1) lunar; urgency=medium
+
+  * Build using glibc 2.37-0ubuntu1.
+
+ -- Matthias Klose <doko@ubuntu.com>  Mon, 06 Feb 2023 15:06:53 +0100
+
 cross-toolchain-base-mipsen (24) unstable; urgency=medium
 
   * Rebase cross-toolchain-base 66
diff -pruN 29/debian/patches/glibc/ubuntu/glibc-build-tools.diff 29ubuntu2/debian/patches/glibc/ubuntu/glibc-build-tools.diff
--- 29/debian/patches/glibc/ubuntu/glibc-build-tools.diff	2024-07-31 09:19:03.000000000 +0000
+++ 29ubuntu2/debian/patches/glibc/ubuntu/glibc-build-tools.diff	2024-08-07 03:31:01.000000000 +0000
@@ -1,8 +1,8 @@
 --- a/debian/rules
 +++ b/debian/rules
-@@ -106,8 +106,8 @@ TIMEOUTFACTOR = 25
- CC     = $(DEB_HOST_GNU_TYPE)-$(BASE_CC)$(DEB_GCC_VERSION)
- CXX    = $(DEB_HOST_GNU_TYPE)-$(BASE_CXX)$(DEB_GCC_VERSION)
+@@ -107,8 +107,8 @@ TIMEOUTFACTOR = 25
+ CC     = $(DEB_HOST_GNU_TYPE)-$(BASE_CC)$(DEB_GCC_VERSION) -D_DISTRO_EVADE_TIME_BITS
+ CXX    = $(DEB_HOST_GNU_TYPE)-$(BASE_CXX)$(DEB_GCC_VERSION) -D_DISTRO_EVADE_TIME_BITS
  MIG    = $(DEB_HOST_GNU_TYPE)-$(BASE_MIG)
 -BUILD_CC = $(DEB_BUILD_GNU_TYPE)-$(BASE_CC)
 -BUILD_CXX = $(DEB_BUILD_GNU_TYPE)-$(BASE_CXX)
diff -pruN 29/debian/patches/glibc/ubuntu/local-kill-locales.patch 29ubuntu2/debian/patches/glibc/ubuntu/local-kill-locales.patch
--- 29/debian/patches/glibc/ubuntu/local-kill-locales.patch	2024-07-31 09:19:03.000000000 +0000
+++ 29ubuntu2/debian/patches/glibc/ubuntu/local-kill-locales.patch	2024-08-07 03:30:48.000000000 +0000
@@ -15,7 +15,7 @@
  # Generic kernel version check
 --- a/localedata/SUPPORTED
 +++ b/localedata/SUPPORTED
-@@ -1,512 +1,4 @@
+@@ -1,515 +1,4 @@
  # This file names the currently supported and somewhat tested locales.
  # If you have any additions please file a glibc bug report.
  SUPPORTED-LOCALES=\
@@ -338,12 +338,14 @@
 -lo_LA/UTF-8 \
 -lt_LT.UTF-8/UTF-8 \
 -lt_LT/ISO-8859-13 \
+-ltg_LV.UTF-8/UTF-8 \
 -lv_LV.UTF-8/UTF-8 \
 -lv_LV/ISO-8859-13 \
 -lzh_TW/UTF-8 \
 -mag_IN/UTF-8 \
 -mai_IN/UTF-8 \
 -mai_NP/UTF-8 \
+-mdf_RU/UTF-8 \
 -mfe_MU/UTF-8 \
 -mg_MG.UTF-8/UTF-8 \
 -mg_MG/ISO-8859-15 \
@@ -420,6 +422,7 @@
 -sah_RU/UTF-8 \
 -sat_IN/UTF-8 \
 -sc_IT/UTF-8 \
+-scn_IT/UTF-8 \
 -sd_IN/UTF-8 \
 -sd_IN@devanagari/UTF-8 \
 -sd_PK/UTF-8 \
diff -pruN 29/debian/rules 29ubuntu2/debian/rules
--- 29/debian/rules	2024-07-31 09:21:35.000000000 +0000
+++ 29ubuntu2/debian/rules	2024-08-07 04:46:40.000000000 +0000
@@ -101,7 +101,7 @@ DEB_VER_GCC      := $(shell dpkg-parsech
 VER_BINUTILS     := $(shell dpkg-parsechangelog -SVersion -l/usr/src/binutils/debian/changelog | cut -f 1 -d '-'|cut -d '.' -f1-3)
 PKG_VER_BINUTILS := $(shell dpkg-parsechangelog -SVersion -l/usr/src/binutils/debian/changelog | cut -f 1 -d '-')
 DEB_VER_BINUTILS := $(shell dpkg-parsechangelog -SVersion -l/usr/src/binutils/debian/changelog)
-VER_GLIBC        := $(shell dpkg-parsechangelog -SVersion -l/usr/src/glibc/debian/changelog | cut -f 1 -d '-')
+VER_GLIBC        := $(shell dpkg-parsechangelog -SVersion -l/usr/src/glibc/debian/changelog | sed 's/-[^-]*$$//')
 DEB_VER_GLIBC    := $(shell dpkg-parsechangelog -SVersion -l/usr/src/glibc/debian/changelog)
 
 LINUX_BUILT_USING := linux (= $(shell echo $(DEB_VER_LINUX) | sed 's/+.*$$//'))
@@ -158,7 +158,7 @@ init: $(stamp)init-linux
 
 $(stamp)init-linux:
 	@echo START $@
-	rm -rf linux-source-[45678].*
+	rm -rf linux-source-[45].*
 	$(call unpack_tarball, $(firstword $(wildcard /usr/src/linux-source-$(VER_LINUX).tar.* /usr/src/linux-source-$(VER_LINUX)/linux-source-$(VER_LINUX).tar.*)))
 	touch $@
 
@@ -371,9 +371,9 @@ $(stamp)init-glibc:
 	QUILT_PATCHES=${GLIBC_PATCHES} quilt --quiltrc /dev/null push -a && \
 	rm -rf .pc/
 #	set -ex; \
-#	if dpkg --compare-versions $(DEB_VER_GLIBC) le 2.27-3; then \
+#	if dpkg --compare-versions $(DEB_VER_GLIBC) le 2.39-0ubuntu8; then \
 #	  cd glibc-${VER_GLIBC}; \
-#	  patch -p1 < ../debian/patches/glibc/updates.diff; \
+#	  patch -p1 < ../debian/patches/glibc-updates.diff; \
 #	  debian/rules debian/control || true; \
 #	fi
 	touch $@
@@ -666,6 +666,13 @@ $(stamp)repack-%:
 	      $$tmp/usr/*/lib32/libc.so;; \
 	esac; \
 	case "$$pkgname" in \
+	  libc6-dev-mips32-*-cross) \
+	    sed -i \
+	      -e 's,/lib[^/]*/ld-linux-mipsn8.so.1,/libo32/ld-linux-mipsn8.so.1,' \
+	      -e 's,/lib[^/]*/ld.so.1,/libo32/ld.so.1,' \
+	      $$tmp/usr/*/libo32/libc.so;; \
+	esac; \
+	case "$$pkgname" in \
 	  libc6-dev-powerpc-ppc64-cross|libc6-dev-sparc-sparc64-cross|libc6-dev-i386-x32-cross|libc6-dev-s390-s390x-cross|libc6-dev-i386-amd64-cross|libc6-dev-i386-x32-cross) \
 	    triplet="$$(basename $$(dirname $$(echo $$tmp/usr/*/lib32)))"; \
 	    sed -i -e 's,//,/,g' \
