commit f5b13fb4178d3e77edf7b4c52e6234c97919a0d8
parent c27e0af2eca2ccddf4b4c89552b8bb863d61060c
Author: Mike Hommey <mh+mozilla@glandium.org>
Date: Wed, 1 Oct 2025 08:50:30 +0000
Bug 1991813 - Enable dual ABI in libstdc++ in GCC-10 packages. r=jcristau
We had that for the GCC-8 packages, and while it's not required on
GCC-10 packages that target buster, it is required on the packages that
target jessie because there's a specific rule for jessie that disables
the new ABI.
With the new ABI disabled, -D_GLIBCXX_USE_CXX11_ABI=1 doesn't do what's
expected of it, and that causes problems because clang is built against
the GCC-8 libstdc++ which does have the new ABI enabled and with which
-D_GLIBCXX_USE_CXX11_ABI=1 does what's expected of it. The inconsistency
causes those problems.
Differential Revision: https://phabricator.services.mozilla.com/D266963
Diffstat:
1 file changed, 3 insertions(+), 0 deletions(-)
diff --git a/taskcluster/kinds/packages/debian.yml b/taskcluster/kinds/packages/debian.yml
@@ -101,6 +101,7 @@ deb8-gcc-10:
# generate an updated debian/control.
# removing the libzstd-dev build dependency that doesn't exist in jessie.
# uncommenting `with_common_libs` makes the packaging create the libstdc++6 package.
+ # `libstdcxx_abi = new` overrides the default that disables the new ABI on jessie
# `BINUTILSBDV=2.25-3~` and `ISL_BUILD_DEP=libisl-dev,` override wrong versions
# in build dependencies for jessie.
# `OFFLOAD_BUILD_DEP=` overrides the dependency on nvptx, which is not available
@@ -119,6 +120,7 @@ deb8-gcc-10:
apt install autoconf quilt &&
sed -i 's/libzstd-dev,//' debian/control.m4 &&
sed -i 's/#with_common_libs/with_common_libs/' debian/rules.defs &&
+ echo libstdcxx_abi = new >> debian/rules.defs &&
echo BINUTILSBDV=2.25-3~ >> debian/rules.conf &&
echo ISL_BUILD_DEP=libisl-dev, >> debian/rules.conf &&
echo OFFLOAD_BUILD_DEP= >> debian/rules.conf &&
@@ -176,6 +178,7 @@ deb8-32-gcc-10:
apt install autoconf quilt &&
sed -i 's/libzstd-dev,//' debian/control.m4 &&
sed -i 's/#with_common_libs/with_common_libs/' debian/rules.defs &&
+ echo libstdcxx_abi = new >> debian/rules.defs &&
echo GCC_MULTILIB_BUILD_DEP='$(DPKG_BUILD_DEP)' >> debian/rules.conf &&
echo BINUTILSBDV=2.25-3~ >> debian/rules.conf &&
echo ISL_BUILD_DEP=libisl-dev, >> debian/rules.conf &&