Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MDBF-793 - Retire MSAN clang-15 builder, upgrade to clang-19 #562

Open
wants to merge 28 commits into
base: dev
Choose a base branch
from

Conversation

RazvanLiviuVarzaru
Copy link
Collaborator

@RazvanLiviuVarzaru RazvanLiviuVarzaru commented Sep 12, 2024

Replace MSAN CLANG-15 builder with CLANG 19 on Debian 12.

- use generic name for clang 19 msan
- use debian12
- build for >= 10.5

This will replace msan clang 15 debian 11 builder.
- replace debian 11 - clang 15 with debian 12 - clang 19

For msan.Dockerfile
 - starting from clang 18 libunwing is added to ENABLE_RUNTIMES
 - make the dockerfile work for both bookworm / bullseye editions (LLVM repository)
 - doc Makefile is not present in bookworm for gmp
 - bookworm has newer aclocal / automake -> cracklib2 fix
 - clang 19 needs libclang-19-dev and libllvmlibc-19-dev installed
@RazvanLiviuVarzaru RazvanLiviuVarzaru marked this pull request as ready for review September 12, 2024 12:46
@RazvanLiviuVarzaru
Copy link
Collaborator Author

@grooverdan
I think this closes #482.

This is to aid consumption by developers
and have a ready available MSAN container.

Technically we don't need to purge from image
as its a build stage, but we do to keep size a bit smaller.
Also use update-alternatives to provide clang/clang++ links.

With a 6 monthly new release cycle of clang. Keeping it such
that a rebuild of image is sufficient to re-deploy rather than
a master restart will facilitate more frequent updates and
a fixed builder url.
Requested by Marko to make this a more realistic test
of the codebase delivered to users.

No -DWITH_DBUG_TRACE=OFF exists in RelWithDebInfo mode
make clang/clang++ alternates as soon as installed
Unit tests run all ok.

WITH_SAFE_MALLOC=OFF is default in RelWithDebInfo mode.
Also convient CFLAGS and MSAN environment
variables.
to non-instrumented things.

Otherwise these sorts of error in testing:

 LD_LIBRARY_PATH=/msan-libs/ /usr/bin/ctest
/usr/bin/ctest: symbol lookup error: /msan-libs/libgmp.so.10: undefined symbol: __msan_va_arg_overflow_size_tls
And the --force is for debian:11 compat where the files exist in the tarball.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants