aboutsummaryrefslogtreecommitdiff
path: root/build-aux
diff options
context:
space:
mode:
authorJia Tan <jiat0218@gmail.com>2023-06-28 21:01:22 +0800
committerJia Tan <jiat0218@gmail.com>2023-06-28 23:59:47 +0800
commit45e250a9e9f3c3e8e8af2983366b170bf54f890e (patch)
treeeb9e6a5bf31145cb6c2bf7674a1328cda6519aa1 /build-aux
parentCI: Upgrade checkout action from v2 to v3. (diff)
downloadxz-45e250a9e9f3c3e8e8af2983366b170bf54f890e.tar.xz
CI: Add test with -fsanitize=address,undefined.
ci_build.sh was updated to accept disabling of __attribute__ ifunc and CLMUL. This will allow -fsanitize=address to pass because ifunc is incompatible with -fsanitize=address. The CLMUL implementation has optimizations that potentially read past the buffer and mask out the unwanted bytes. This test will only run on Autotools Linux.
Diffstat (limited to 'build-aux')
-rwxr-xr-xbuild-aux/ci_build.sh8
1 files changed, 7 insertions, 1 deletions
diff --git a/build-aux/ci_build.sh b/build-aux/ci_build.sh
index 339938ba..201c1dd5 100755
--- a/build-aux/ci_build.sh
+++ b/build-aux/ci_build.sh
@@ -19,7 +19,7 @@ set -e
USAGE="Usage: $0
-b [autotools|cmake]
-c [crc32|crc64|sha256]
- -d [encoders|decoders|bcj|delta|threads|shared|nls|small]
+ -d [encoders|decoders|bcj|delta|threads|shared|nls|small|ifunc|clmul]
-f [CFLAGS]
-l [destdir]
-n [ARTIFACTS_DIR_NAME]
@@ -40,6 +40,8 @@ THREADS="y"
SHARED="y"
NATIVE_LANG_SUPPORT="y"
SMALL="n"
+IFUNC="y"
+CLMUL="y"
SRC_DIR="$ABS_DIR/../"
DEST_DIR="$SRC_DIR/../xz_build"
PHASE="all"
@@ -80,6 +82,8 @@ while getopts b:c:d:l:n:s:p:f:h opt; do
shared) SHARED="n";;
nls) NATIVE_LANG_SUPPORT="n";;
small) SMALL="y";;
+ ifunc) IFUNC="n";;
+ clmul) CLMUL="n";;
*) echo "Invalid disable value: $disable_arg"; exit 1 ;;
esac
done
@@ -197,6 +201,8 @@ then
add_extra_option "$SHARED" "" "--disable-shared"
add_extra_option "$NATIVE_LANG_SUPPORT" "" "--disable-nls"
add_extra_option "$SMALL" "--enable-small" ""
+ add_extra_option "$IFUNC" "" "--disable-ifunc"
+ add_extra_option "$CLMUL" "" "--disable-clmul-crc"
# Run configure script
"$SRC_DIR"/configure --enable-werror --enable-checks="$CHECK_TYPE" $EXTRA_OPTIONS --config-cache