mirror of https://github.com/Nonannet/copapy.git
ci: cross compilation updated to use musl objs
This commit is contained in:
parent
bc62d486ab
commit
da58fbf613
|
|
@ -25,6 +25,11 @@ jobs:
|
|||
name: stencil-object-files
|
||||
path: src/copapy/obj/*.o
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: musl-object-files
|
||||
path: /object_files/musl_objects_*.o
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: cross-runner
|
||||
|
|
@ -227,7 +232,8 @@ jobs:
|
|||
run: |
|
||||
set -v
|
||||
mkdir -p release
|
||||
cp tmp/stencil-object-files/*.o release/
|
||||
cp tmp/stencil-object-files/* release/
|
||||
cp tmp/musl-object-files/* release/
|
||||
cp tmp/cross-runner/coparun-* release/
|
||||
cp tmp/runner-linux/coparun release/
|
||||
cp tmp/runner-linux-arm64/coparun release/
|
||||
|
|
|
|||
|
|
@ -1,19 +1,9 @@
|
|||
#include "aux_functions.c"
|
||||
#include "trigonometry.c"
|
||||
|
||||
int main() {
|
||||
// Test aux functions
|
||||
float a = 16.0f;
|
||||
float sqrt_a = aux_sqrt(100000.0f);
|
||||
float div_result = (float)floor_div(-7.0f, 3.0f);
|
||||
float sin_30 = aux_sin(30.0f);
|
||||
float cos_60 = aux_cos(60.0f);
|
||||
float tan_45 = aux_tan(45.0f);
|
||||
float atan_15 = aux_atan(1.5f);
|
||||
float asin_15 = aux_asin(1.5f);
|
||||
float atan2_15 = aux_atan2(1.5f, 1.5f);
|
||||
float exp_5 = aux_exp(5.0);
|
||||
float log_5 = aux_log(5.0);
|
||||
float g42 = aux_get_42(0.0f);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,5 +22,3 @@ sh ../packobjs.sh arm64 aarch64-linux-gnu-gcc-13 aarch64-linux-gnu-ld
|
|||
echo "- clean up..."
|
||||
rm -r ./*
|
||||
cd ..
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,8 @@ ar x ../../musl/lib/libc.a fabsf.lo scalbn.lo floor.lo exp2f_data.lo powf.lo pow
|
|||
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
|
||||
|
||||
echo "- Merge objects"
|
||||
$LD_NAME -r *.lo -o ../musl_objects_$ARCH.o
|
||||
mkdir -p /object_files
|
||||
$LD_NAME -r *.lo -o /object_files/musl_objects_$ARCH.o
|
||||
|
||||
rm ./*
|
||||
cd ../../musl
|
||||
|
|
@ -5,27 +5,35 @@ set -v
|
|||
|
||||
mkdir -p build/stencils
|
||||
SRC=build/stencils/stencils.c
|
||||
STMP=build/stencils/stencils.o
|
||||
DEST=src/copapy/obj
|
||||
OPT=O3
|
||||
FLAGS="-fno-pic"
|
||||
|
||||
mkdir -p $DEST
|
||||
|
||||
echo "Precompiled objects:"
|
||||
ls /object_files/
|
||||
|
||||
# -------------- Compile stencils --------------
|
||||
|
||||
python3 stencils/generate_stencils.py $SRC
|
||||
|
||||
# x86_64
|
||||
gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_x86_64_$OPT.o
|
||||
gcc-13 $FLAGS -$OPT -c $SRC -o $STMP
|
||||
ld -r $STMP /object_files/musl_objects_x86_64.o -o $DEST/stencils_x86_64_$OPT.o
|
||||
|
||||
# x86 - 32 bit
|
||||
gcc-13 $FLAGS -m32 -$OPT -c $SRC -o $DEST/stencils_x86_$OPT.o
|
||||
i686-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $STMP
|
||||
i686-linux-gnu-ld -r $STMP /object_files/musl_objects_x86.o -o $DEST/stencils_x86_$OPT.o
|
||||
|
||||
# ARM64 linux (aarch64)
|
||||
aarch64-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_arm64_$OPT.o
|
||||
aarch64-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $STMP
|
||||
aarch64-linux-gnu-ld -r $STMP /object_files/musl_objects_arm64.o -o $DEST/stencils_arm64_$OPT.o
|
||||
|
||||
# ARMv7
|
||||
arm-linux-gnueabihf-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_arm_$OPT.o
|
||||
#arm-linux-gnueabihf-gcc-13 $FLAGS -$OPT -c $SRC -o $STMP
|
||||
#arm-linux-gnu-ld -r $STMP /object_files/musl_objects_arm.o -o $DEST/stencils_arm_$OPT.o
|
||||
|
||||
# PowerPC64LE
|
||||
# powerpc64le-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_ppc64le_$OPT.o
|
||||
|
|
@ -34,16 +42,16 @@ arm-linux-gnueabihf-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_arm_$OPT.o
|
|||
# s390x-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_s390x_$OPT.o
|
||||
|
||||
# Mips (Big Endian)
|
||||
mips-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_mips_$OPT.o
|
||||
#mips-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_mips_$OPT.o
|
||||
|
||||
# Mips (Little Endian)
|
||||
mipsel-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_mipsel_$OPT.o
|
||||
#mipsel-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_mipsel_$OPT.o
|
||||
|
||||
# RISCV 32 Bit
|
||||
# riscv64-linux-gnu-gcc-13 $FLAGS -$OPT -march=rv32imac -mabi=ilp32 -c $SRC -o $DEST/stencils_riscv_$OPT.o
|
||||
|
||||
# RISCV 64 Bit
|
||||
riscv64-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_riscv64_$OPT.o
|
||||
#riscv64-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_riscv64_$OPT.o
|
||||
|
||||
|
||||
# -------------- Cross compile runner --------------
|
||||
|
|
@ -51,6 +59,3 @@ mkdir -p build/runner
|
|||
|
||||
# Aarch64
|
||||
aarch64-linux-gnu-gcc-13 -static -O3 -DENABLE_LOGGING -o build/runner/coparun-aarch64 src/coparun/runmem.c src/coparun/coparun.c src/coparun/mem_man.c
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue