Add AArch64 default config test

Signed-off-by: Bence Szépkúti <bence.szepkuti@arm.com>
This commit is contained in:
Bence Szépkúti 2024-07-11 15:52:07 +01:00
parent f38ee6179e
commit 864ecda59e
3 changed files with 40 additions and 0 deletions

View File

@ -228,6 +228,7 @@ pre_initialize_variables () {
: ${ARM_NONE_EABI_GCC_PREFIX:=arm-none-eabi-}
: ${ARM_LINUX_GNUEABI_GCC_PREFIX:=arm-linux-gnueabi-}
: ${ARM_LINUX_GNUEABIHF_GCC_PREFIX:=arm-linux-gnueabihf-}
: ${AARCH64_LINUX_GNU_GCC_PREFIX:=aarch64-linux-gnu-}
: ${CLANG_LATEST:="clang-latest"}
: ${CLANG_EARLIEST:="clang-earliest"}
: ${GCC_LATEST:="gcc-latest"}

View File

@ -266,6 +266,15 @@ clang_version() {
fi
}
gcc_version() {
cc="$1"
if command -v clang > /dev/null ; then
"$cc" --version | sed -En '1s/^[^ ]* \([^)]*\) ([0-9]+).*/\1/p'
else
echo 0 # report version 0 for "no clang"
fi
}
can_run_cc_output() {
cc="$1"
result=1
@ -302,3 +311,14 @@ can_run_arm_linux_gnueabihf () {
fi
return $((! can_run_arm_linux_gnueabihf))
}
can_run_aarch64_linux_gnu () {
if [ -z "${can_run_aarch64_linux_gnu:-}" ]; then
if can_run_cc_output "${AARCH64_LINUX_GNU_GCC_PREFIX}gcc"; then
can_run_aarch64_linux_gnu=1
else
can_run_aarch64_linux_gnu=0
fi
fi
return $((! can_run_aarch64_linux_gnu))
}

View File

@ -432,6 +432,25 @@ support_test_arm_linux_gnueabihf_gcc_thumb_2 () {
can_run_arm_linux_gnueabihf
}
component_test_aarch64_linux_gnu_gcc () {
msg "test: ${AARCH64_LINUX_GNU_GCC_PREFIX}gcc -O2, default config"
make clean
make CC="${AARCH64_LINUX_GNU_GCC_PREFIX}gcc" CFLAGS='-std=c99 -Werror -Wextra -O2'
msg "test: main suites make, default config (out-of-box)" # ~10s
make test
msg "selftest: make, default config (out-of-box)" # ~10s
programs/test/selftest
msg "program demos: make, default config (out-of-box)" # ~10s
tests/scripts/run_demos.py
}
support_test_aarch64_linux_gnu_gcc () {
[ "$(gcc_version "${AARCH64_LINUX_GNU_GCC_PREFIX}gcc")" -ge 6 ] && can_run_aarch64_linux_gnu
}
component_build_arm_none_eabi_gcc () {
msg "build: ${ARM_NONE_EABI_GCC_PREFIX}gcc -O1, baremetal+debug" # ~ 10s
scripts/config.py baremetal