ci: add debian-arm32-asan
authorChristian Gmeiner <cgmeiner@igalia.com>
Wed, 7 Jun 2023 07:42:24 +0000 (09:42 +0200)
committerMarge Bot <emma+marge@anholt.net>
Thu, 8 Jun 2023 22:30:30 +0000 (22:30 +0000)
I want to have the possibility to use asan in for etnaviv ci. As lot
devices in the my CI farm are arm32 based lets do some prep work.

I had to skip the mesa:util suite as there are some asan problems
on 32bit platform with the hash_map. Once they got sorted out we can
enable the suite again.

Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Reviewed-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23493>

.gitlab-ci/build/gitlab-ci.yml
.gitlab-ci/container/cross_build.sh
.gitlab-ci/image-tags.yml
.gitlab-ci/test/gitlab-ci.yml

index d710203..195c8c3 100644 (file)
@@ -433,6 +433,19 @@ debian-arm32:
     - .gitlab-ci/meson/build.sh
     - .gitlab-ci/prepare-artifacts.sh
 
+debian-arm32-asan:
+  extends:
+    - debian-arm32
+  variables:
+    EXTRA_OPTION: >
+      -D llvm=disabled
+      -D b_sanitize=address
+      -D valgrind=disabled
+      -D tools=dlclose-skip
+    ARTIFACTS_DEBUG_SYMBOLS: 1
+    MINIO_ARTIFACT_NAME: mesa-arm32-asan
+    MESON_TEST_ARGS: "--no-suite mesa:compiler --no-suite mesa:util"
+
 debian-arm64:
   extends:
     - .meson-arm
index ab67da0..6fee1ff 100644 (file)
@@ -18,6 +18,7 @@ apt-get install -y --no-remove \
         $STABLE_EPHEMERAL \
         crossbuild-essential-$arch \
         pkgconf:$arch \
+        libasan8:$arch \
         libdrm-dev:$arch \
         libelf-dev:$arch \
         libexpat1-dev:$arch \
index 0e91c04..6846477 100644 (file)
@@ -1,6 +1,6 @@
 variables:
    DEBIAN_X86_64_BUILD_BASE_IMAGE: "debian/x86_64_build-base"
-   DEBIAN_BASE_TAG: "2023-06-08-rust-clippy"
+   DEBIAN_BASE_TAG: "2023-06-08-asan-arm32"
 
    DEBIAN_X86_64_BUILD_IMAGE_PATH: "debian/x86_64_build"
    DEBIAN_BUILD_TAG: "2023-05-25-bookworm"
index 3c186d0..d26aa60 100644 (file)
@@ -210,7 +210,19 @@ clang-format:
     - job: debian-arm64
       artifacts: false
 
-# ARM64 testing of bare-metal boards attached to an x86 gitlab-runner system, using an asan mesa build
+# ARM32/64 testing of bare-metal boards attached to an x86 gitlab-runner system, using an asan mesa build
+.baremetal-arm32-asan-test:
+  extends:
+    - .baremetal-test
+    - .use-debian/arm32_test
+  variables:
+    DEQP_RUNNER_OPTIONS: "--env LD_PRELOAD=libasan.so.8:/install/lib/libdlclose-skip.so"
+    MINIO_ARTIFACT_NAME: mesa-arm32-asan
+  needs:
+    - debian/arm32_test
+    - job: debian-arm32-asan
+      artifacts: false
+
 .baremetal-arm64-asan-test:
   extends:
     - .baremetal-test