diff --git a/master/custom/builders.py b/master/custom/builders.py index b23e6ea43..16fdc9d50 100644 --- a/master/custom/builders.py +++ b/master/custom/builders.py @@ -19,6 +19,7 @@ PGOUnixBuild, ClangUnixBuild, ClangUbsanLinuxBuild, + ClangUbsanFunctionLinuxBuild, ClangUnixInstalledBuild, SharedUnixBuild, SlowNonDebugUnixBuild, @@ -310,6 +311,9 @@ # riscv64 GCC ("riscv64 Ubuntu23", "onder-riscv64", SlowUnixInstalledBuild), + + # Arch Usan Function + ("AMD64 Arch Linux Usan Function", "pablogsal-arch-x86_64", ClangUbsanFunctionLinuxBuild), ] diff --git a/master/custom/factories.py b/master/custom/factories.py index bb241c611..343df5ac9 100644 --- a/master/custom/factories.py +++ b/master/custom/factories.py @@ -322,6 +322,15 @@ class ClangUbsanLinuxBuild(UnixBuild): ] factory_tags = ["clang", "ubsan", "sanitizer"] +class ClangUbsanFunctionLinuxBuild(UnixBuild): + buildersuffix = ".clang-ubsan-function" + configureFlags = [ + "CC=clang", + "LD=clang", + "CFLAGS=-fsanitize=undefined -fno-sanitize=function -fsanitize-recover", + "--with-undefined-behavior-sanitizer", + ] + factory_tags = ["clang", "ubsan", "sanitizer"] class ClangUnixInstalledBuild(UnixInstalledBuild): buildersuffix = ".clang-installed"