Skip to content

Commit 61e62af

Browse files
committed
feat: more cross builds
1 parent 8a538be commit 61e62af

2 files changed

Lines changed: 67 additions & 3 deletions

File tree

.docker/build-linux.sh

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -338,9 +338,14 @@ if [[ "-$BUILD_TYPE-" == *-static-* ]]; then
338338
export CFLAGS="${CFLAGS} -isystem $_staticprefix/include"
339339
export CXXFLAGS="${CXXFLAGS} -isystem $_staticprefix/include"
340340

341-
if [[ "$_MARCH" == "i386" ]]; then
342-
export LDFLAGS="${LDFLAGS} -lucontext -latomic"
343-
fi
341+
case "$_MARCH" in
342+
i386)
343+
export LDFLAGS="${LDFLAGS} -lucontext -latomic"
344+
;;
345+
s390x)
346+
export LDFLAGS="${LDFLAGS} -lucontext"
347+
;;
348+
esac
344349

345350
CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_SYSROOT=$_SYSROOT -DCMAKE_FIND_ROOT_PATH=$_staticprefix;$_sslprefix;$_jemallocprefix -DCMAKE_PREFIX_PATH=$_staticprefix;$_sslprefix;$_jemallocprefix -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DSTATIC_BUILD_DO_NOT_USE=1 -DWITH_UNIVERSAL_BINARY=1 -DWITH_FUSE_EXTRACT_BINARY=1"
346351

.github/workflows/build.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,65 @@ jobs:
357357
build_type: gcc-release-ninja-static
358358
cross_arch: ppc64le
359359

360+
######## blocked by https://github.com/rui314/mold/issues/1496
361+
# - build_arch: amd64
362+
# build_dist: alpine
363+
# build_type: gcc-release-lto-ninja-static
364+
# cross_arch: ppc64le
365+
366+
######## no libressl support
367+
# - build_arch: amd64
368+
# build_dist: alpine
369+
# build_type: clang-relsize-libressl-lto-ninja-static
370+
# cross_arch: loongarch64
371+
372+
- build_arch: amd64
373+
build_dist: alpine
374+
build_type: clang-relsize-lto-ninja-static
375+
cross_arch: loongarch64
376+
377+
- build_arch: amd64
378+
build_dist: alpine
379+
build_type: clang-release-ninja-static
380+
cross_arch: loongarch64
381+
skip_slow_tests: true
382+
383+
- build_arch: amd64
384+
build_dist: alpine
385+
build_type: gcc-release-ninja-static
386+
cross_arch: loongarch64
387+
skip_slow_tests: true
388+
389+
######## no libressl support
390+
# - build_arch: amd64
391+
# build_dist: alpine
392+
# build_type: clang-relsize-libressl-lto-ninja-static
393+
# cross_arch: s390x
394+
395+
######## misaligned symbol typeinfo name for std::_Sp_make_shared_tag for relocation R_390_PC32DBL
396+
# - build_arch: amd64
397+
# build_dist: alpine
398+
# build_type: clang-relsize-lto-ninja-static
399+
# cross_arch: s390x
400+
401+
######## misaligned symbol typeinfo name for std::_Sp_make_shared_tag for relocation R_390_PC32DBL
402+
# - build_arch: amd64
403+
# build_dist: alpine
404+
# build_type: clang-release-ninja-static
405+
# cross_arch: s390x
406+
407+
- build_arch: amd64
408+
build_dist: alpine
409+
build_type: gcc-release-lto-ninja-static
410+
cross_arch: s390x
411+
skip_fuse_tests: true # big-endian FUSE driver won't work on little-endian
412+
413+
- build_arch: amd64
414+
build_dist: alpine
415+
build_type: gcc-release-ninja-static
416+
cross_arch: s390x
417+
skip_fuse_tests: true # big-endian FUSE driver won't work on little-endian
418+
360419
uses: ./.github/workflows/docker-run-build.yml
361420
with:
362421
build_type: ${{ matrix.build_type }}

0 commit comments

Comments
 (0)