diff --git a/tools/build.sh b/tools/build.sh index 4513ed1..431f9c6 100644 --- a/tools/build.sh +++ b/tools/build.sh @@ -7,10 +7,10 @@ DEST=src/copapy/obj python3 stencils/generate_stencils.py $SRC mkdir -p $DEST gcc --version -#gcc -c $SRC -O0 -o $DEST/stencils_x86_64_O0.o -#gcc -c $SRC -O1 -o $DEST/stencils_x86_64_O1.o -#gcc -c $SRC -O2 -o $DEST/stencils_x86_64_O2.o -gcc -c $SRC -O3 -o $DEST/stencils_x86_64_O3.o +#gcc -fno-pic -fno-plt -c $SRC -O0 -o $DEST/stencils_x86_64_O0.o +#gcc -fno-pic -fno-plt -c $SRC -O1 -o $DEST/stencils_x86_64_O1.o +#gcc -fno-pic -fno-plt -c $SRC -O2 -o $DEST/stencils_x86_64_O2.o +gcc -fno-pic -fno-plt -c $SRC -O3 -o $DEST/stencils_x86_64_O3.o mkdir bin -p gcc -Wall -Wextra -Wconversion -Wsign-conversion \ diff --git a/tools/crosscompile.sh b/tools/crosscompile.sh index 243e2ca..59bca2b 100644 --- a/tools/crosscompile.sh +++ b/tools/crosscompile.sh @@ -7,6 +7,7 @@ mkdir -p bin SRC=bin/stencils.c DEST=src/copapy/obj OPT=O3 +FLAGS="-fno-pic -fno-plt" mkdir -p $DEST @@ -14,45 +15,45 @@ mkdir -p $DEST # Windows x86_64 (ARM64) python3 stencils/generate_stencils.py --abi ms $SRC -gcc-13 -$OPT -c $SRC -o $DEST/stencils_AMD64_$OPT.o +gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_AMD64_$OPT.o # Windows x86 -gcc-13 -m32 -$OPT -c $SRC -o $DEST/stencils_x86_$OPT.o +gcc-13 $FLAGS -m32 -$OPT -c $SRC -o $DEST/stencils_x86_$OPT.o # Native x86_64 python3 stencils/generate_stencils.py $SRC -gcc-13 -$OPT -c $SRC -o $DEST/stencils_x86_64_$OPT.o +gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_x86_64_$OPT.o # Native i686 -gcc-13 -m32 -$OPT -c $SRC -o $DEST/stencils_i686_$OPT.o +gcc-13 $FLAGS -m32 -$OPT -c $SRC -o $DEST/stencils_i686_$OPT.o # ARM64 linux (aarch64) -aarch64-linux-gnu-gcc-13 -$OPT -c $SRC -o $DEST/stencils_aarch64_$OPT.o +aarch64-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_aarch64_$OPT.o # ARM64 macos (copy aarch64) cp $DEST/stencils_aarch64_$OPT.o $DEST/stencils_arm64_$OPT.o # ARMv7 -arm-linux-gnueabihf-gcc-13 -$OPT -c $SRC -o $DEST/stencils_armv7_$OPT.o +arm-linux-gnueabihf-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_armv7_$OPT.o # PowerPC64LE -# powerpc64le-linux-gnu-gcc-13 -$OPT -c $SRC -o $DEST/stencils_ppc64le_$OPT.o +# powerpc64le-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_ppc64le_$OPT.o # S390x -# s390x-linux-gnu-gcc-13 -$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-linux-gnu-gcc-13 -$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 -$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 -$OPT -march=rv32imac -mabi=ilp32 -c $SRC -o $DEST/stencils_riscv32_$OPT.o +# riscv64-linux-gnu-gcc-13 $FLAGS -$OPT -march=rv32imac -mabi=ilp32 -c $SRC -o $DEST/stencils_riscv32_$OPT.o # RISCV 64 Bit -riscv64-linux-gnu-gcc-13 -$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 -------------- diff --git a/tools/nativecompile.sh b/tools/nativecompile.sh index 078e415..d66aaf6 100644 --- a/tools/nativecompile.sh +++ b/tools/nativecompile.sh @@ -5,18 +5,19 @@ set -v mkdir -p bin SRC=bin/stencils.c DEST=src/copapy/obj +FLAGS="-fno-pic -fno-plt" python stencils/generate_stencils.py $SRC mkdir -p $DEST -gcc-12 -c $SRC -O0 -o $DEST/stencils_x86_64_O0.o -gcc-12 -c $SRC -O1 -o $DEST/stencils_x86_64_O1.o -gcc-12 -c $SRC -O2 -o $DEST/stencils_x86_64_O2.o -gcc-12 -c $SRC -O3 -o $DEST/stencils_x86_64_O3.o +gcc-12 $FLAGS -c $SRC -O0 -o $DEST/stencils_x86_64_O0.o +gcc-12 $FLAGS -c $SRC -O1 -o $DEST/stencils_x86_64_O1.o +gcc-12 $FLAGS -c $SRC -O2 -o $DEST/stencils_x86_64_O2.o +gcc-12 $FLAGS -c $SRC -O3 -o $DEST/stencils_x86_64_O3.o python stencils/generate_stencils.py --abi ms $SRC -gcc-12 -c $SRC -O0 -o $DEST/stencils_AMD64_O0.o -gcc-12 -c $SRC -O1 -o $DEST/stencils_AMD64_O1.o -gcc-12 -c $SRC -O2 -o $DEST/stencils_AMD64_O2.o -gcc-12 -c $SRC -O3 -o $DEST/stencils_AMD64_O3.o \ No newline at end of file +gcc-12 $FLAGS -c $SRC -O0 -o $DEST/stencils_AMD64_O0.o +gcc-12 $FLAGS -c $SRC -O1 -o $DEST/stencils_AMD64_O1.o +gcc-12 $FLAGS -c $SRC -O2 -o $DEST/stencils_AMD64_O2.o +gcc-12 $FLAGS -c $SRC -O3 -o $DEST/stencils_AMD64_O3.o \ No newline at end of file