Skip to content

Commit 04bce88

Browse files
committed
chore: fat gcc LTO objects so we don't need multiple versions
1 parent 8a938c2 commit 04bce88

2 files changed

Lines changed: 12 additions & 3 deletions

File tree

.docker/build-linux.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,10 @@ case "-$BUILD_TYPE-" in
207207
if [[ "$_MARCH" != "loongarch64" ]]; then
208208
export LDFLAGS="${LDFLAGS} -Wl,--icf=all"
209209
fi
210-
export COMPILER="${COMPILER}-lto"
210+
# GCC uses fat LTO objects
211+
if [[ "-$BUILD_TYPE-" != *-gcc-* ]]; then
212+
export COMPILER="${COMPILER}-lto"
213+
fi
211214
;;
212215
esac
213216

.docker/install-static-libs.sh

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -277,14 +277,14 @@ for target_arch in ${TARGET_ARCH_STR//,/ }; do
277277
case "$CARCH" in
278278
# https://github.com/llvm/llvm-project/issues/150913
279279
ppc64le)
280-
COMPILERS="gcc gcc-lto"
280+
COMPILERS="gcc"
281281
;;
282282
*)
283283
if [[ "$ARCH" == "riscv64" ]]; then
284284
# This is so slow natively, stick to the basics for now
285285
COMPILERS="clang"
286286
else
287-
COMPILERS="clang clang-minsize-lto gcc gcc-minsize-lto gcc-lto"
287+
COMPILERS="clang clang-minsize-lto gcc"
288288
fi
289289
;;
290290
esac
@@ -341,6 +341,12 @@ for target_arch in ${TARGET_ARCH_STR//,/ }; do
341341
export PERF_CXXFLAGS="$PERF_CXXFLAGS -flto"
342342
export COMP_LDFLAGS="$COMP_LDFLAGS -flto"
343343
;;
344+
gcc*)
345+
export SIZE_CFLAGS="$SIZE_CFLAGS -flto -ffat-lto-objects"
346+
export SIZE_CXXFLAGS="$SIZE_CXXFLAGS -flto -ffat-lto-objects"
347+
export PERF_CFLAGS="$PERF_CFLAGS -flto -ffat-lto-objects"
348+
export PERF_CXXFLAGS="$PERF_CXXFLAGS -flto -ffat-lto-objects"
349+
;;
344350
esac
345351

346352
export MESON_CROSS_FILE="--cross-file=/tmp/meson-$CARCH-$COMPILER.txt"

0 commit comments

Comments
 (0)