mirror of https://github.com/Nonannet/copapy.git
gcc flags for stencil generation added to prevent a GOT for extern variables: -fno-pic -fno-plt
This commit is contained in:
parent
6259db89ce
commit
c2d1fb7eea
|
|
@ -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 \
|
||||
|
|
|
|||
|
|
@ -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 --------------
|
||||
|
|
|
|||
|
|
@ -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
|
||||
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
|
||||
Loading…
Reference in New Issue