[all-commits] [llvm/llvm-project] b1dd1a: [msan] Do not use 77 as exit code, instead use 1

Florian Schmaus via All-commits all-commits at lists.llvm.org
Thu Dec 10 14:42:11 PST 2020


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b1dd1a099771543cf0ca133b6342af1b3ce61a44
      https://github.com/llvm/llvm-project/commit/b1dd1a099771543cf0ca133b6342af1b3ce61a44
  Author: Florian Schmaus <flo at geekplace.eu>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M compiler-rt/lib/msan/msan.cpp

  Log Message:
  -----------
  [msan] Do not use 77 as exit code, instead use 1

MSan uses 77 as exit code since it appeared with c5033786ba34 ("[msan]
MemorySanitizer runtime."). However, Test runners like the one from
Meson use the GNU standard approach where a exit code of 77 signals
that the test should be skipped [1]. As a result Meson's test runner
reports tests as skipped if MSan is enabled and finds issues:

build $ meson test
ninja: Entering directory `/home/user/code/project/build'
ninja: no work to do.
1/1 PROJECT:all / SimpleTest    SKIP           0.09s

I could not find any rationale why 77 was initially chosen, and I
found no other clang sanitizer that uses this value as exit
code. Hence I believe it is safe to change this to a safe
default. You can restore the old behavior by setting the environment
variable MSAN_OPTIONS to "exitcode=77", e.g.

export MSAN_OPTIONS="exitcode=77"

1: https://mesonbuild.com/Unit-tests.html#skipped-tests-and-hard-errors

Reviewed By: #sanitizers, eugenis

Differential Revision: https://reviews.llvm.org/D92490




More information about the All-commits mailing list