Control: tags -1 + patch Hi Simon,
On 2023-03-13 04:42, Simon McVittie wrote: > The other possible route for fixing mozjs78's build on armhf and armel > is to locate whatever fixes in ICU made it link successfully on armhf > and armel, and backport those to the version of ICU that is vendored by > mozjs78. I would expect this to be the easier route, and almost certainly > a smaller diff to present to the release team, with a correspondingly > smaller regression risk for mozjs78/cjs/Cinnamon. I agree that this route seems indeed easier to follow. However, I could not see any big difference between libicu-dev and the ICU version vendored in mozjs78. I suspect the difference is possibly not in the code itself but rather static vs dynamic linking. There's this old GCC regression that looks similar to the issue we have here: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61536 Motivated by this, I've tried to build mozjs78 with GCC 11 instead of 12, and it *did* build successfully. My proposal is thus to build mozjs78 with GCC 11 on armhf and armel, see attached patch. Meanwhile I'll try to write a smaller repro for the GCC regression and investigate that separately.
diff -Nru mozjs78-78.15.0/debian/changelog mozjs78-78.15.0/debian/changelog --- mozjs78-78.15.0/debian/changelog 2023-01-17 23:26:39.000000000 +0100 +++ mozjs78-78.15.0/debian/changelog 2023-03-15 10:36:30.000000000 +0100 @@ -1,3 +1,10 @@ +mozjs78 (78.15.0-6.1) unstable; urgency=medium + + * Non-maintainer upload. + * Build with GCC 11 on armhf and armel (Closes: #1029167). + + -- Emanuele Rocca <[email protected]> Wed, 15 Mar 2023 10:36:30 +0100 + mozjs78 (78.15.0-6) unstable; urgency=medium * Add patch to fix build with Python 3.11 (Closes: #1028308) diff -Nru mozjs78-78.15.0/debian/control.in mozjs78-78.15.0/debian/control.in --- mozjs78-78.15.0/debian/control.in 2023-01-17 23:26:39.000000000 +0100 +++ mozjs78-78.15.0/debian/control.in 2023-03-15 10:36:30.000000000 +0100 @@ -10,6 +10,8 @@ autoconf, autoconf2.13, automake, + gcc-11 [armhf armel], + g++-11 [armhf armel], libreadline-dev, llvm, zlib1g-dev (>= 1:1.2.3), diff -Nru mozjs78-78.15.0/debian/rules mozjs78-78.15.0/debian/rules --- mozjs78-78.15.0/debian/rules 2023-01-17 23:26:39.000000000 +0100 +++ mozjs78-78.15.0/debian/rules 2023-03-15 10:36:30.000000000 +0100 @@ -120,6 +120,13 @@ CXX := $(DEB_HOST_GNU_TYPE)-g++ endif +# Use GCC 11 when building for armhf and armel. +# See https://bugs.debian.org/1029167 +ifneq (,$(findstring $(DEB_HOST_GNU_TYPE),arm-linux-gnueabi arm-linux-gnueabihf)) +CC := $(addsuffix -11,$(CC)) +CXX := $(addsuffix -11,$(CXX)) +endif + override_dh_auto_configure: mkdir -p $(BUILDDIR) cd $(BUILDDIR); \

