ci musl: use -fno-pic flag only for x86

This commit is contained in:
Nicolas 2025-11-14 10:35:52 +01:00
parent b7957afbba
commit 517876037d
3 changed files with 14 additions and 4 deletions

View File

@ -28,7 +28,7 @@ jobs:
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
with: with:
name: musl-object-files name: musl-object-files
path: /object_files/musl_objects_*.o path: /object_files/musl_objects_*.*o
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
with: with:

View File

@ -12,7 +12,7 @@ cd musl
sh ../packobjs.sh gcc ld /object_files/musl_objects_x86_64.o sh ../packobjs.sh gcc ld /object_files/musl_objects_x86_64.o
sh ../packobjs.sh i686-linux-gnu-gcc-13 i686-linux-gnu-ld /object_files/musl_objects_x86.o sh ../packobjs.sh i686-linux-gnu-gcc-13 i686-linux-gnu-ld /object_files/musl_objects_x86.o -fno-pic
sh ../packobjs.sh aarch64-linux-gnu-gcc-13 aarch64-linux-gnu-ld /object_files/musl_objects_arm64.o sh ../packobjs.sh aarch64-linux-gnu-gcc-13 aarch64-linux-gnu-ld /object_files/musl_objects_arm64.o

View File

@ -6,9 +6,10 @@ set -v
CC_NAME=$1 CC_NAME=$1
LD_NAME=$2 LD_NAME=$2
DEST_FILE=$3 DEST_FILE=$3
OPT_FLAGS=$4
echo "- Config musl" echo "- Config musl"
./configure CFLAGS="-O2 -fno-stack-protector" CC=$CC_NAME ./configure CFLAGS="-O2 -fno-stack-protector $OPT_FLAGS" CC=$CC_NAME
echo "- Build musl" echo "- Build musl"
make clean make clean
@ -18,6 +19,15 @@ mkdir -p ../build/stencil_objs
echo "- Extracting required objects" echo "- Extracting required objects"
cd ../build/stencil_objs cd ../build/stencil_objs
# Check out .o (non PIC)
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
# Check out .lo (PIC)
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 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 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 logf_data.lo __tandf.lo __cosdf.lo __sindf.lo
@ -27,6 +37,6 @@ ar x ../../musl/lib/libc.a __rem_pio2f.lo __math_invalidf.lo __stack_chk_fail.lo
cd ../../musl cd ../../musl
echo "- Merge objects" echo "- Merge objects"
$LD_NAME -r ../build/stencil_objs/*.lo -o $DEST_FILE $LD_NAME -r ../build/stencil_objs/* -o $DEST_FILE
rm ../build/stencil_objs/* rm ../build/stencil_objs/*