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
|
name: stencil-object-files
|
||||||
path: src/copapy/obj/*.o
|
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
|
- uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: cross-runner
|
name: cross-runner
|
||||||
|
|
@ -227,7 +232,8 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
set -v
|
set -v
|
||||||
mkdir -p release
|
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/cross-runner/coparun-* release/
|
||||||
cp tmp/runner-linux/coparun release/
|
cp tmp/runner-linux/coparun release/
|
||||||
cp tmp/runner-linux-arm64/coparun release/
|
cp tmp/runner-linux-arm64/coparun release/
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,9 @@
|
||||||
#include "aux_functions.c"
|
#include "aux_functions.c"
|
||||||
#include "trigonometry.c"
|
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
// Test aux functions
|
// Test aux functions
|
||||||
float a = 16.0f;
|
float a = 16.0f;
|
||||||
float sqrt_a = aux_sqrt(100000.0f);
|
|
||||||
float div_result = (float)floor_div(-7.0f, 3.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);
|
float g42 = aux_get_42(0.0f);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,5 +22,3 @@ sh ../packobjs.sh arm64 aarch64-linux-gnu-gcc-13 aarch64-linux-gnu-ld
|
||||||
echo "- clean up..."
|
echo "- clean up..."
|
||||||
rm -r ./*
|
rm -r ./*
|
||||||
cd ..
|
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
|
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"
|
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 ./*
|
rm ./*
|
||||||
cd ../../musl
|
cd ../../musl
|
||||||
|
|
@ -5,27 +5,35 @@ set -v
|
||||||
|
|
||||||
mkdir -p build/stencils
|
mkdir -p build/stencils
|
||||||
SRC=build/stencils/stencils.c
|
SRC=build/stencils/stencils.c
|
||||||
|
STMP=build/stencils/stencils.o
|
||||||
DEST=src/copapy/obj
|
DEST=src/copapy/obj
|
||||||
OPT=O3
|
OPT=O3
|
||||||
FLAGS="-fno-pic"
|
FLAGS="-fno-pic"
|
||||||
|
|
||||||
mkdir -p $DEST
|
mkdir -p $DEST
|
||||||
|
|
||||||
|
echo "Precompiled objects:"
|
||||||
|
ls /object_files/
|
||||||
|
|
||||||
# -------------- Compile stencils --------------
|
# -------------- Compile stencils --------------
|
||||||
|
|
||||||
python3 stencils/generate_stencils.py $SRC
|
python3 stencils/generate_stencils.py $SRC
|
||||||
|
|
||||||
# x86_64
|
# 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
|
# 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)
|
# 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
|
# 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
|
||||||
# powerpc64le-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_ppc64le_$OPT.o
|
# 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
|
# s390x-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_s390x_$OPT.o
|
||||||
|
|
||||||
# Mips (Big Endian)
|
# 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)
|
# 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
|
# RISCV 32 Bit
|
||||||
# riscv64-linux-gnu-gcc-13 $FLAGS -$OPT -march=rv32imac -mabi=ilp32 -c $SRC -o $DEST/stencils_riscv_$OPT.o
|
# riscv64-linux-gnu-gcc-13 $FLAGS -$OPT -march=rv32imac -mabi=ilp32 -c $SRC -o $DEST/stencils_riscv_$OPT.o
|
||||||
|
|
||||||
# RISCV 64 Bit
|
# 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 --------------
|
# -------------- Cross compile runner --------------
|
||||||
|
|
@ -51,6 +59,3 @@ mkdir -p build/runner
|
||||||
|
|
||||||
# Aarch64
|
# 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
|
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