diff options
author | Jia Tan <jiat0218@gmail.com> | 2023-06-28 21:01:22 +0800 |
---|---|---|
committer | Jia Tan <jiat0218@gmail.com> | 2023-06-28 23:59:47 +0800 |
commit | 45e250a9e9f3c3e8e8af2983366b170bf54f890e (patch) | |
tree | eb9e6a5bf31145cb6c2bf7674a1328cda6519aa1 /build-aux | |
parent | CI: Upgrade checkout action from v2 to v3. (diff) | |
download | xz-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-x | build-aux/ci_build.sh | 8 |
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 |