Jun 29 2020
Jun 16 2020
Jun 15 2020
Apr 22 2020
Apr 16 2020
Apr 15 2020
@eugenis I slightly improved the tests - could you have another look please?
Apr 14 2020
Instead of checking only top frame, compile tests with
-mbackchain, like we already do for ASan and UBSan.
Apr 10 2020
Apr 9 2020
@eugenis now that VarArgSystemZHelper part seems to be in order, could you please have another look?
Added i128 handling and a test for it.
Apr 8 2020
Added fp128 handling and a test for it.
Apr 4 2020
Applied the formatting fix, got rid of bogus D76358 dependency.
Apr 3 2020
Apr 2 2020
Resolved shadow zext/sext TODO using CreateShadowCast.
Resolved softfloat TODO using getFnAttribute("use-soft-float").
Added shadow propagation checks to tests.
Apr 1 2020
Implemented Ulrich's suggestions.
Mar 27 2020
internal_uname() is available only on Linux right now. I thought it's ok to postpone adding macOS/*BSD/etc implementations until that is really necessary.
msan does not call Symbolizer::LateInitialize(), which is Symbolizer::GetOrInit() + InitializeSwiftDemangler(). It calls only Symbolizer::GetOrInit(), and it's exactly InitializeSwiftDemangler() that triggers dlerror(). So for now it looks safe, but not particularly future-proof. #define COMMON_INTERCEPTOR_NOTHING_IS_INITIALIZED (!msan_inited) might be a good idea. Should I try to do this here, or separately?
Mar 26 2020
I've installed stretch and hit the following issue:
I'll check. I was hoping this was already fixed by https://reviews.llvm.org/D76776, but the last build http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/26367 already contains that commit, and yet it still fails with the same symptoms.
Mar 25 2020
Use uname syscall. Don't try olduname and oldolduname fallbacks until we know we need them.
Ok, I can do that.
Mar 24 2020
Fixed a typo in vararg.ll test.
Added a test for zext attribute to msan_basic.ll, added missing CHECK-LABEL: @many_args.
Come to think of it, the most important thing actually must be that this is with -DBUILD_SHARED_LIBS=ON. I don't think static builds are affected.
It fails for me both on x86_64 and s390x.
I think there might be a race: if we manage to write CODE lines before llvm-symbolizer exits, we just get a "Failed to use and restart external symbolizer" message.
However, if we write at a later point in time, we get a SIGPIPE.
Mar 23 2020
Split out mmap (already landed), uname and instrumentation
Mar 22 2020
Mar 19 2020
Thanks for reviewing! I don't think I have commit access - may I ask you to commit this one for me?