CI: Remove ifunc support.

This commit is contained in:
Lasse Collin 2024-04-09 17:47:01 +03:00
parent 689ae24273
commit 986865ea2f
2 changed files with 4 additions and 14 deletions

View File

@ -77,25 +77,18 @@ jobs:
./build-aux/ci_build.sh -b autotools -p test -f "-m32" -n 32_bit ./build-aux/ci_build.sh -b autotools -p test -f "-m32" -n 32_bit
cd ../xz_build && make distclean cd ../xz_build && make distclean
# ifunc must be disabled for this test because __attribute__ ifunc is # The sandbox must be disabled because it will prevent access to
# incompatible with -fsanitize=address.
#
# The sandbox must also be disabled because it will prevent access to
# the /proc/ filesystem on Linux, which is used by the sanitizer's # the /proc/ filesystem on Linux, which is used by the sanitizer's
# instrumentation. # instrumentation.
- name: Build with -fsanitize=address,undefined - name: Build with -fsanitize=address,undefined
if: ${{ matrix.os == 'ubuntu-latest' && matrix.build_system == 'autotools' }} if: ${{ matrix.os == 'ubuntu-latest' && matrix.build_system == 'autotools' }}
run: ./build-aux/ci_build.sh -b autotools -p build -f "-fsanitize=address,undefined" -d ifunc,sandbox run: ./build-aux/ci_build.sh -b autotools -p build -f "-fsanitize=address,undefined" -d sandbox
- name: Test with -fsanitize=address,undefined - name: Test with -fsanitize=address,undefined
if: ${{ matrix.os == 'ubuntu-latest' && matrix.build_system == 'autotools' }} if: ${{ matrix.os == 'ubuntu-latest' && matrix.build_system == 'autotools' }}
run: | run: |
./build-aux/ci_build.sh -b autotools -p test -f "-fsanitize=address,undefined" -d ifunc,sandbox ./build-aux/ci_build.sh -b autotools -p test -f "-fsanitize=address,undefined" -d sandbox
cd ../xz_build && make distclean cd ../xz_build && make distclean
# musl libc has some slight differences compared to glibc, including
# the lack of ifunc support. This tests if the ifunc detection
# functions properly since musl-gcc can compile with ifunc support,
# but will fail at runtime.
- name: Build with musl libc - name: Build with musl libc
if: ${{ matrix.os == 'ubuntu-latest'}} if: ${{ matrix.os == 'ubuntu-latest'}}
run: ./build-aux/ci_build.sh -b ${{ matrix.build_system }} -p build -m "/usr/bin/musl-gcc" run: ./build-aux/ci_build.sh -b ${{ matrix.build_system }} -p build -m "/usr/bin/musl-gcc"

View File

@ -18,7 +18,7 @@ USAGE="Usage: $0
-a [autogen flags] -a [autogen flags]
-b [autotools|cmake] -b [autotools|cmake]
-c [crc32|crc64|sha256] -c [crc32|crc64|sha256]
-d [encoders|decoders|bcj|delta|threads|shared|nls|small|ifunc|clmul|sandbox] -d [encoders|decoders|bcj|delta|threads|shared|nls|small|clmul|sandbox]
-f [CFLAGS] -f [CFLAGS]
-l [destdir] -l [destdir]
-m [compiler] -m [compiler]
@ -41,7 +41,6 @@ THREADS="y"
SHARED="y" SHARED="y"
NATIVE_LANG_SUPPORT="y" NATIVE_LANG_SUPPORT="y"
SMALL="n" SMALL="n"
IFUNC="y"
CLMUL="y" CLMUL="y"
SANDBOX="y" SANDBOX="y"
SRC_DIR="$ABS_DIR/../" SRC_DIR="$ABS_DIR/../"
@ -87,7 +86,6 @@ while getopts a:b:c:d:l:m:n:s:p:f:h opt; do
shared) SHARED="n";; shared) SHARED="n";;
nls) NATIVE_LANG_SUPPORT="n";; nls) NATIVE_LANG_SUPPORT="n";;
small) SMALL="y";; small) SMALL="y";;
ifunc) IFUNC="n";;
clmul) CLMUL="n";; clmul) CLMUL="n";;
sandbox) SANDBOX="n";; sandbox) SANDBOX="n";;
*) echo "Invalid disable value: $disable_arg"; exit 1 ;; *) echo "Invalid disable value: $disable_arg"; exit 1 ;;
@ -211,7 +209,6 @@ then
add_extra_option "$SHARED" "" "--disable-shared" add_extra_option "$SHARED" "" "--disable-shared"
add_extra_option "$NATIVE_LANG_SUPPORT" "" "--disable-nls" add_extra_option "$NATIVE_LANG_SUPPORT" "" "--disable-nls"
add_extra_option "$SMALL" "--enable-small" "" add_extra_option "$SMALL" "--enable-small" ""
add_extra_option "$IFUNC" "" "--disable-ifunc"
add_extra_option "$CLMUL" "" "--disable-clmul-crc" add_extra_option "$CLMUL" "" "--disable-clmul-crc"
add_extra_option "$SANDBOX" "" "--enable-sandbox=no" add_extra_option "$SANDBOX" "" "--enable-sandbox=no"