- User Since
- Jul 19 2016, 1:30 PM (376 w, 1 d)
Thu, Sep 28
Aug 18 2023
[Cross-post from github because I posted there before realizing it wasn't phabricator; apologies for the spam]
This patch might have broke the buildbots, starting with when it was first built in https://lab.llvm.org/buildbot/#/builders/85/builds/18390
/b/sanitizer-x86_64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stdlib.h:114:25: runtime error: negation of -9223372036854775808 cannot be represented in type 'long'; cast to an unsigned type to negate this value to itself #0 0x5586b6dfb9aa in abs /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/libcxx_build_ubsan/include/c++/v1/stdlib.h:114:10 #1 0x5586b6dfb9aa in (anonymous namespace)::GNUELFDumper<llvm::object::ELFType<(llvm::support::endianness)1, true>>::printRelRelaReloc((anonymous namespace)::Relocation<llvm::object::ELFType<(llvm::support::endianness)1, true>> const&, (anonymous namespace)::RelSymbol<llvm::object::ELFType<(llvm::support::endianness)1, true>> const&) /b/sanitizer-x86_64-linux-bootstrap-ubsan/build/llvm-project/llvm/tools/llvm-readobj/ELFDumper.cpp:3778:21
(which is good insofar as it finds a real bug, but nonetheless is turning the buildbots red)
@probinson Ah, I overlooked that! Thanks for the quick update.
The re-applied commit (https://github.com/llvm/llvm-project/commit/2e4d2d800b9ce0924513a2f24e7a1f3d22b52383) might have led to the same memory issues: https://lab.llvm.org/buildbot/#/builders/168/builds/15163
Aug 16 2023
Jul 24 2023
Jul 11 2023
Add '#if SANITIZER_GLIBC' guards to avoid breaking FreeBSD
Jul 6 2023
Jul 5 2023
Fix 'cast from 'void ' to 'const Elf64_Sym ' must have all intermediate pointers const qualified to be safe [-Werror,-Wcast-qual]'
Jul 1 2023
Jun 30 2023
Made 'if (! map) return;' change
Fix null pointer case
Add license to top of header files
Change order of headers
"#include <dlfcn.h> and friends in a cpp file and export function like UnpoisonDllAddr1ExtraInfo"
Refactor into UnpoisonDllAddr1ExtraInfo(), per Vitaly's suggestion
Adds a new header file, msan_dl.h, per Vitaly's suggestion.
Jun 23 2023
Jun 22 2023
Jun 14 2023
Jun 13 2023
Jun 12 2023
What is the use case for this? If sanitizers other than TSan haven't needed to intercept munmap, adding it to sanitizer-common seems to just be adding overhead and possible complications.
May 26 2023
edit: Craig beat me to it :-)
May 25 2023
Remove unnecessary braces
For readability, change CHECK(tag == 0) to CHECK_EQ(addr, UntagPtr(addr));
The libcxx tests might also need updating:
Disallow MAP_FIXED with a tagged pointer, which is an odd usecase. This simplifies the code greatly, since an invariant
is that mmap will no longer return any tagged pointers, hence there is no need to intercept munmap.
Changed mmap interceptor to use tagging only if given a tagged address plus MAP_FIXED.
I think this might have broken one of the sanitizer buildbots:
which is leading to uninitialized memory errors:
I see, thanks Marco for the quick reply!