diff --git a/.gitlab-ci/build/gitlab-ci.yml b/.gitlab-ci/build/gitlab-ci.yml index 801366ef839..7eea34af061 100644 --- a/.gitlab-ci/build/gitlab-ci.yml +++ b/.gitlab-ci/build/gitlab-ci.yml @@ -189,6 +189,34 @@ debian-testing-msan: -D intel-clc=enabled -D install-intel-clc=true +debian-testing-ubsan: + extends: + - debian-testing + stage: build-for-tests + timeout: 40m + variables: + C_ARGS: > + -Wno-error=stringop-overflow + -Wno-error=stringop-truncation + CPP_ARGS: > + -Wno-error=array-bounds + EXTRA_OPTION: > + -D b_sanitize=undefined + -D intel-clc=system + S3_ARTIFACT_NAME: "" + ARTIFACTS_DEBUG_SYMBOLS: 1 + HOST_BUILD_OPTIONS: > + -D build-tests=false + -D enable-glcpp-tests=false + -D gallium-opencl=disabled + -D gallium-drivers= + -D vulkan-drivers= + -D video-codecs= + -D glx=disabled + -D platforms= + -D intel-clc=enabled + -D install-intel-clc=true + debian-build-testing: extends: .meson-build stage: build-for-tests @@ -350,12 +378,6 @@ fedora-release: CPP_ARGS: > -Wno-error=dangling-reference -Wno-error=overloaded-virtual - C_LINK_ARGS: > - -Wno-error=stringop-overflow - -Wno-error=stringop-overread - CPP_LINK_ARGS: > - -Wno-error=stringop-overflow - -Wno-error=stringop-overread DRI_LOADERS: > -D glx=dri -D gbm=enabled @@ -569,6 +591,26 @@ debian-arm64-asan: S3_ARTIFACT_NAME: mesa-arm64-asan-${BUILDTYPE} MESON_TEST_ARGS: "--no-suite mesa:compiler" +debian-arm64-ubsan: + extends: + - debian-arm64 + stage: build-for-tests + variables: + C_ARGS: > + -Wno-error=array-bounds + -Wno-error=stringop-overflow + -Wno-error=stringop-truncation + CPP_ARGS: > + -Wno-error=array-bounds + -fno-var-tracking-assignments + DRI_LOADERS: + -D glvnd=disabled + EXTRA_OPTION: > + -D b_sanitize=undefined + ARTIFACTS_DEBUG_SYMBOLS: 1 + S3_ARTIFACT_NAME: mesa-arm64-ubsan-${BUILDTYPE} + MESON_TEST_ARGS: "--no-suite mesa:compiler" + debian-arm64-build-test: extends: - .meson-arm diff --git a/.gitlab-ci/container/debian/test-base.sh b/.gitlab-ci/container/debian/test-base.sh index 47697f7a463..cb93e539dc2 100644 --- a/.gitlab-ci/container/debian/test-base.sh +++ b/.gitlab-ci/container/debian/test-base.sh @@ -82,6 +82,7 @@ DEPS=( liblz4-1 libpng16-16 libpython3.11 + libubsan1 libvulkan1 libwayland-client0 libwayland-server0 diff --git a/.gitlab-ci/container/lava_build.sh b/.gitlab-ci/container/lava_build.sh index 4bc147c0ec6..bbb6c2356f0 100755 --- a/.gitlab-ci/container/lava_build.sh +++ b/.gitlab-ci/container/lava_build.sh @@ -184,6 +184,7 @@ PKG_CI=( bash ca-certificates curl initramfs-tools jq netcat-openbsd dropbear openssh-server libasan8 + libubsan1 git python3-dev python3-pip python3-setuptools python3-wheel weston # Wayland diff --git a/.gitlab-ci/image-tags.yml b/.gitlab-ci/image-tags.yml index d16c1712c73..7ee522b5437 100644 --- a/.gitlab-ci/image-tags.yml +++ b/.gitlab-ci/image-tags.yml @@ -13,7 +13,7 @@ variables: DEBIAN_X86_64_BUILD_BASE_IMAGE: "debian/x86_64_build-base" - DEBIAN_BASE_TAG: "20241125-crosvm" + DEBIAN_BASE_TAG: "20250109-libubsan1" DEBIAN_X86_64_BUILD_IMAGE_PATH: "debian/x86_64_build" DEBIAN_BUILD_TAG: "20241220-android" @@ -30,7 +30,7 @@ variables: DEBIAN_TEST_ANDROID_TAG: "20241220-venus" DEBIAN_TEST_GL_TAG: "20241210-piglit-4c" DEBIAN_TEST_VK_TAG: "20250103-vkd3d" - KERNEL_ROOTFS_TAG: "20250103-vkd3d" + KERNEL_ROOTFS_TAG: "20250109-libubsan1" DEBIAN_PYUTILS_IMAGE: "debian/x86_64_pyutils" DEBIAN_PYUTILS_TAG: "20241223-pyutils" diff --git a/.gitlab-ci/test/gitlab-ci.yml b/.gitlab-ci/test/gitlab-ci.yml index 3be02df5c4b..902a795a588 100644 --- a/.gitlab-ci/test/gitlab-ci.yml +++ b/.gitlab-ci/test/gitlab-ci.yml @@ -259,6 +259,18 @@ yaml-toml-shell-py-test: artifacts: false - !reference [.required-for-hardware-jobs, needs] +.baremetal-arm64-ubsan-test: + extends: + - .baremetal-test + - .use-debian/baremetal_arm64_test + variables: + S3_ARTIFACT_NAME: mesa-arm64-ubsan-debugoptimized + needs: + - debian/baremetal_arm64_test + - job: debian-arm64-ubsan + artifacts: false + - !reference [.required-for-hardware-jobs, needs] + .baremetal-deqp-test: variables: HWCI_TEST_SCRIPT: "/install/deqp-runner.sh"