ci: standardize custom libc++ usage in MSAN jobs #27485

pull fanquake wants to merge 1 commits into bitcoin:master from fanquake:msan_use_isystem_nostdlib changing 2 files +4 −2
  1. fanquake commented at 1:26 PM on April 18, 2023: member

    Use -isystem & -nostd* flags, which is the preferred way to use a custom libc++ (ours is libc++ build with MSAN) with Clang, as opposed to our current ad-hoc flags.

    See: https://releases.llvm.org/16.0.0/projects/libcxx/docs/UsingLibcxx.html#using-a-custom-built-libc for more info:

    Most compilers provide a way to disable the default behavior for finding the standard library and to override it with custom paths. With Clang, this can be done with:

    clang++ -nostdinc++ -nostdlib++             \
              -isystem <install>/include/c++/v1 \
              -L <install>/lib                  \
              -Wl,-rpath,<install>/lib          \
              -lc++                             \
              test.cpp
    

    The native_fuzz_with_msan job is still broken (on master), which is related to using system compiler-rt, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1005341 for more info. I think standardising how we use our libc++ is a first step towards fixing. Although this may ultimately require building a clang and compiler-rt ourselves.

  2. DrahtBot commented at 1:27 PM on April 18, 2023: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

  3. fanquake commented at 2:29 PM on April 18, 2023: member

    We can likely do something similar for our Darwin depends build, once we're using a newer version of LLVM/Clang, which might make the flag usage and configuration in there slightly clearer.

  4. fanquake referenced this in commit d852d2434e on Apr 19, 2023
  5. fanquake commented at 2:29 PM on April 19, 2023: member

    We can likely do something similar for our Darwin depends build

    See #27493

  6. fanquake force-pushed on Apr 19, 2023
  7. fanquake renamed this:
    [WIP] ci: standardize custom libc++ usage in MSAN jobs
    ci: standardize custom libc++ usage in MSAN jobs
    on Apr 19, 2023
  8. DrahtBot added the label Tests on Apr 19, 2023
  9. fanquake marked this as ready for review on Apr 19, 2023
  10. fanquake commented at 5:22 PM on April 19, 2023: member

    Rebased past #27448, and taking out of draft.

  11. fanquake referenced this in commit 8003515ba7 on Apr 21, 2023
  12. ci: standardize custom libc++ usage in MSAN jobs
    Use `-isystem` & `-nostd*` flags, which is the preferred way to use a
    custom libc++ (ours is libc++ build with MSAN) with Clang, as opposed to
    our current ad-hoc flags.
    
    See: https://releases.llvm.org/16.0.0/projects/libcxx/docs/UsingLibcxx.html#using-a-custom-built-libc
    for more info.
    
    The native_fuzz_with_msan job is still broken (on master),
    which is related to using system compiler-rt, see
    https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1005341 for more info.
    eeb81adb75
  13. fanquake force-pushed on May 12, 2023
  14. fanquake commented at 9:56 AM on May 24, 2023: member

    Going to open a new PR with more extensive changes.

  15. fanquake closed this on May 24, 2023

  16. fanquake deleted the branch on May 24, 2023
  17. bitcoin locked this on May 23, 2024
Contributors
Labels

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-26 06:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me