@@ -388,7 +388,7 @@ case $jplatform64 in
388
388
raspberry/j32* ) # linux raspbian arm
389
389
TARGET=libj.so
390
390
CFLAGS=" $common -std=gnu99 -Wno-overflow -marm -march=armv6 -mfloat-abi=hard -mfpu=vfp -DRASPI "
391
- LDFLAGS=" -shared -Wl,-soname,libj.so -lm -ldl $LDTHREAD $LDOPENMP "
391
+ LDFLAGS=" -shared -Wl,-soname,libj.so -lm -ldl $LDTHREAD $LDOPENMP -Wl,-z,noexecstack "
392
392
SRC_ASM=" ${SRC_ASM_RASPI32} "
393
393
GASM_FLAGS=" "
394
394
FLAGS_SLEEF=" -DENABLE_VECEXT " # broken in upstream
@@ -398,7 +398,7 @@ case $jplatform64 in
398
398
raspberry/j64* ) # linux arm64
399
399
TARGET=libj.so
400
400
CFLAGS=" $common -march=armv8-a+crc -DRASPI -DC_CRC32C=1 " # mno-outline-atomics unavailable on clang-7
401
- LDFLAGS=" -shared -Wl,-soname,libj.so -lm -ldl $LDTHREAD $LDOPENMP "
401
+ LDFLAGS=" -shared -Wl,-soname,libj.so -lm -ldl $LDTHREAD $LDOPENMP -Wl,-z,noexecstack "
402
402
OBJS_AESARM=" aes-arm.o "
403
403
SRC_ASM=" ${SRC_ASM_RASPI} "
404
404
GASM_FLAGS=" "
@@ -413,7 +413,7 @@ case $jplatform64 in
413
413
CFLAGS=" $common -m32 -msse2 -mfpmath=sse "
414
414
# slower, use 387 fpu and truncate extra precision
415
415
# CFLAGS="$common -m32 -ffloat-store "
416
- LDFLAGS=" -shared -Wl,-soname,libj.so -m32 -lm -lkvm $LDOPENMP32 $LDTHREAD "
416
+ LDFLAGS=" -shared -Wl,-soname,libj.so -m32 -lm -lkvm $LDTHREAD $LDOPENMP32 -Wl,-z,noexecstack "
417
417
OBJS_AESNI=" aes-ni.o "
418
418
SRC_ASM=" ${SRC_ASM_LINUX32} "
419
419
GASM_FLAGS=" -m32"
@@ -424,7 +424,7 @@ case $jplatform64 in
424
424
openbsd/j64arm) # openbsd arm64
425
425
TARGET=libj.so
426
426
CFLAGS=" $common -march=armv8-a+crc -DC_CRC32C=1 " # mno-outline-atomics unavailable on clang-7
427
- LDFLAGS=" -shared -Wl,-soname,libj.so -lm -lkvm $LDTHREAD $LDOPENMP "
427
+ LDFLAGS=" -shared -Wl,-soname,libj.so -lm -lkvm $LDTHREAD $LDOPENMP -Wl,-z,noexecstack "
428
428
OBJS_AESARM=" aes-arm.o "
429
429
SRC_ASM=" ${SRC_ASM_RASPI} "
430
430
GASM_FLAGS=" "
@@ -435,7 +435,7 @@ case $jplatform64 in
435
435
openbsd/j64avx512* ) # openbsd intel 64bit avx512
436
436
TARGET=libj.so
437
437
CFLAGS=" $common -DC_AVX2=1 -DC_AVX512=1 "
438
- LDFLAGS=" -shared -Wl,-soname,libj.so -lm -lkvm $LDTHREAD $LDOPENMP "
438
+ LDFLAGS=" -shared -Wl,-soname,libj.so -lm -lkvm $LDTHREAD $LDOPENMP -Wl,-z,noexecstack "
439
439
CFLAGS_SIMD=" -march=skylake-avx512 -mtune=skylake-avx512 -mavx2 -mfma -mbmi -mbmi2 -mlzcnt -mmovbe -mpopcnt -mno-vzeroupper "
440
440
OBJS_FMA=" gemm_int-fma.o "
441
441
OBJS_AESNI=" aes-ni.o "
@@ -449,7 +449,7 @@ case $jplatform64 in
449
449
openbsd/j64avx2* ) # openbsd intel 64bit avx2
450
450
TARGET=libj.so
451
451
CFLAGS=" $common -DC_AVX2=1 "
452
- LDFLAGS=" -shared -Wl,-soname,libj.so -lm -lkvm $LDTHREAD $LDOPENMP "
452
+ LDFLAGS=" -shared -Wl,-soname,libj.so -lm -lkvm $LDTHREAD $LDOPENMP -Wl,-z,noexecstack "
453
453
CFLAGS_SIMD=" -march=skylake -mtune=skylake -mavx2 -mfma -mbmi -mbmi2 -mlzcnt -mmovbe -mpopcnt -mno-vzeroupper "
454
454
OBJS_FMA=" gemm_int-fma.o "
455
455
OBJS_AESNI=" aes-ni.o "
@@ -462,7 +462,7 @@ case $jplatform64 in
462
462
openbsd/j64* ) # openbsd intel 64bit nonavx
463
463
TARGET=libj.so
464
464
CFLAGS=" $common -msse3 "
465
- LDFLAGS=" -shared -Wl,-soname,libj.so -lm -lkvm $LDTHREAD $LDOPENMP "
465
+ LDFLAGS=" -shared -Wl,-soname,libj.so -lm -lkvm $LDTHREAD $LDOPENMP -Wl,-z,noexecstack "
466
466
OBJS_AESNI=" aes-ni.o "
467
467
SRC_ASM=" ${SRC_ASM_LINUX} "
468
468
GASM_FLAGS=" "
@@ -477,7 +477,7 @@ case $jplatform64 in
477
477
CFLAGS=" $common -m32 -msse2 -mfpmath=sse "
478
478
# slower, use 387 fpu and truncate extra precision
479
479
# CFLAGS="$common -m32 -ffloat-store "
480
- LDFLAGS=" -shared -Wl,-soname,libj.so -m32 -lm $LDOPENMP32 $LDTHREAD "
480
+ LDFLAGS=" -shared -Wl,-soname,libj.so -m32 -lm $LDOPENMP32 $LDTHREAD -Wl,-z,noexecstack "
481
481
OBJS_AESNI=" aes-ni.o "
482
482
SRC_ASM=" ${SRC_ASM_LINUX32} "
483
483
GASM_FLAGS=" -m32"
@@ -488,7 +488,7 @@ case $jplatform64 in
488
488
freebsd/j64arm) # freebsd arm64
489
489
TARGET=libj.so
490
490
CFLAGS=" $common -march=armv8-a+crc -DC_CRC32C=1 " # mno-outline-atomics unavailable on clang-7
491
- LDFLAGS=" -shared -Wl,-soname,libj.so -lm $LDTHREAD $LDOPENMP "
491
+ LDFLAGS=" -shared -Wl,-soname,libj.so -lm $LDTHREAD $LDOPENMP -Wl,-z,noexecstack "
492
492
OBJS_AESARM=" aes-arm.o "
493
493
SRC_ASM=" ${SRC_ASM_RASPI} "
494
494
GASM_FLAGS=" "
@@ -499,7 +499,7 @@ case $jplatform64 in
499
499
freebsd/j64avx512* ) # freebsd intel 64bit avx512
500
500
TARGET=libj.so
501
501
CFLAGS=" $common -DC_AVX2=1 -DC_AVX512=1 "
502
- LDFLAGS=" -shared -Wl,-soname,libj.so -lm $LDTHREAD $LDOPENMP "
502
+ LDFLAGS=" -shared -Wl,-soname,libj.so -lm $LDTHREAD $LDOPENMP -Wl,-z,noexecstack "
503
503
CFLAGS_SIMD=" -march=skylake-avx512 -mtune=skylake-avx512 -mavx2 -mfma -mbmi -mbmi2 -mlzcnt -mmovbe -mpopcnt -mno-vzeroupper "
504
504
OBJS_FMA=" gemm_int-fma.o "
505
505
OBJS_AESNI=" aes-ni.o "
@@ -513,7 +513,7 @@ case $jplatform64 in
513
513
freebsd/j64avx2* ) # freebsd intel 64bit avx2
514
514
TARGET=libj.so
515
515
CFLAGS=" $common -DC_AVX2=1 "
516
- LDFLAGS=" -shared -Wl,-soname,libj.so -lm $LDTHREAD $LDOPENMP "
516
+ LDFLAGS=" -shared -Wl,-soname,libj.so -lm $LDTHREAD $LDOPENMP -Wl,-z,noexecstack "
517
517
CFLAGS_SIMD=" -march=skylake -mtune=skylake -mavx2 -mfma -mbmi -mbmi2 -mlzcnt -mmovbe -mpopcnt -mno-vzeroupper "
518
518
OBJS_FMA=" gemm_int-fma.o "
519
519
OBJS_AESNI=" aes-ni.o "
@@ -526,7 +526,7 @@ case $jplatform64 in
526
526
freebsd/j64* ) # freebsd intel 64bit nonavx
527
527
TARGET=libj.so
528
528
CFLAGS=" $common -msse3 "
529
- LDFLAGS=" -shared -Wl,-soname,libj.so -lm $LDTHREAD $LDOPENMP "
529
+ LDFLAGS=" -shared -Wl,-soname,libj.so -lm $LDTHREAD $LDOPENMP -Wl,-z,noexecstack "
530
530
OBJS_AESNI=" aes-ni.o "
531
531
SRC_ASM=" ${SRC_ASM_LINUX} "
532
532
GASM_FLAGS=" "
0 commit comments