From c041ca36326d15902bd35acb5006cb1c40caaecf Mon Sep 17 00:00:00 2001 From: Nicolas Date: Fri, 14 Nov 2025 00:38:43 +0100 Subject: [PATCH] ci: Docker build system updated --- tools/cross_compiler_unix/Dockerfile | 2 +- tools/cross_compiler_unix/build_musl.sh | 9 +++++---- tools/cross_compiler_unix/packobjs.sh | 26 ++++++++++++------------- 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/tools/cross_compiler_unix/Dockerfile b/tools/cross_compiler_unix/Dockerfile index 83491bf..acfd78c 100644 --- a/tools/cross_compiler_unix/Dockerfile +++ b/tools/cross_compiler_unix/Dockerfile @@ -17,4 +17,4 @@ RUN apt-get update && apt-get install -y \ COPY *.sh ./ -RUN sh build_musl.sh && ls build/* \ No newline at end of file +RUN sh build_musl.sh diff --git a/tools/cross_compiler_unix/build_musl.sh b/tools/cross_compiler_unix/build_musl.sh index f107c1d..2601994 100644 --- a/tools/cross_compiler_unix/build_musl.sh +++ b/tools/cross_compiler_unix/build_musl.sh @@ -1,19 +1,20 @@ - #!/bin/sh set -e set -v +mkdir -p /object_files + git clone --single-branch --branch master --depth 1 https://git.musl-libc.org/git/musl cd musl #./configure CFLAGS="-O2 -fno-stack-protector -ffast-math" -sh ../packobjs.sh x86_64 gcc ld +sh ../packobjs.sh gcc ld /object_files/musl_objects_x86_64.o -sh ../packobjs.sh x86 i686-linux-gnu-gcc-13 i686-linux-gnu-ld +sh ../packobjs.sh i686-linux-gnu-gcc-13 i686-linux-gnu-ld /object_files/musl_objects_x86.o -sh ../packobjs.sh arm64 aarch64-linux-gnu-gcc-13 aarch64-linux-gnu-ld +sh ../packobjs.sh aarch64-linux-gnu-gcc-13 aarch64-linux-gnu-ld /object_files/musl_objects_arm64.o #sh ../packobjs.sh mips mips-linux-gnu-gcc-13 mips-linux-gnu-ld diff --git a/tools/cross_compiler_unix/packobjs.sh b/tools/cross_compiler_unix/packobjs.sh index 0e53873..48f301a 100644 --- a/tools/cross_compiler_unix/packobjs.sh +++ b/tools/cross_compiler_unix/packobjs.sh @@ -3,12 +3,12 @@ set -e set -v -ARCH=$1 -CC_NAME=$2 -LD_NAME=$3 +CC_NAME=$1 +LD_NAME=$2 +DEST_FILE=$3 echo "- Config musl" -./configure CFLAGS="-O2 -fno-stack-protector" CC=$CC_NAME +./configure CFLAGS="-O2 -fno-pic -fno-stack-protector" CC=$CC_NAME echo "- Build musl" make clean @@ -18,15 +18,15 @@ mkdir -p ../build/stencil_objs echo "- Extracting required objects" cd ../build/stencil_objs -ar x ../../musl/lib/libc.a sinf.lo cosf.lo tanf.lo asinf.lo acosf.lo atanf.lo atan2f.lo -ar x ../../musl/lib/libc.a sqrtf.lo logf.lo expf.lo sqrt.lo -ar x ../../musl/lib/libc.a logf_data.lo __tandf.lo __cosdf.lo __sindf.lo -ar x ../../musl/lib/libc.a fabsf.lo scalbn.lo floor.lo exp2f_data.lo powf.lo powf_data.lo -ar x ../../musl/lib/libc.a __rem_pio2f.lo __math_invalidf.lo __stack_chk_fail.lo __math_divzerof.lo __math_oflowf.lo __rem_pio2_large.lo __math_uflowf.lo __math_xflowf.lo +ar x ../../musl/lib/libc.a sinf.o cosf.o tanf.o asinf.o acosf.o atanf.o atan2f.o +ar x ../../musl/lib/libc.a sqrtf.o logf.o expf.o sqrt.o +ar x ../../musl/lib/libc.a logf_data.o __tandf.o __cosdf.o __sindf.o +ar x ../../musl/lib/libc.a fabsf.o scalbn.o floor.o exp2f_data.o powf.o powf_data.o +ar x ../../musl/lib/libc.a __rem_pio2f.o __math_invalidf.o __stack_chk_fail.o __math_divzerof.o __math_oflowf.o __rem_pio2_large.o __math_uflowf.o __math_xflowf.o + +cd ../../musl echo "- Merge objects" -mkdir -p /object_files -$LD_NAME -r *.lo -o /object_files/musl_objects_$ARCH.o +$LD_NAME -r ../build/stencil_objs/*.o -o $DEST_FILE -rm ./* -cd ../../musl \ No newline at end of file +rm ../build/stencil_objs/*