From fadb22f4e2d64b614c87f48b625adaf217cc904f Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 28 Feb 2019 19:34:01 +0000 Subject: [PATCH] Revert "Revert "[sanitizers] Restore internal_readlink for x32"" This reverts revision 354601 and disables ReadBinaryNameCached check on Windows since Windows has no working ReadBinaryName. Differential Revision: https://reviews.llvm.org/D58788 llvm-svn: 355129 --- compiler-rt/lib/sanitizer_common/sanitizer_linux.cc | 2 +- compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cc | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc index 3ca48ae..8b981fb 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc +++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc @@ -400,7 +400,7 @@ uptr internal_readlink(const char *path, char *buf, uptr bufsize) { return internal_syscall(SYSCALL(readlinkat), AT_FDCWD, (uptr)path, (uptr)buf, bufsize); #else - return internal_syscall(SYSCALL(readlink), path, buf, bufsize); + return internal_syscall(SYSCALL(readlink), (uptr)path, (uptr)buf, bufsize); #endif } diff --git a/compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cc b/compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cc index b7454fa..2350de9 100644 --- a/compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cc +++ b/compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cc @@ -438,4 +438,12 @@ TEST(SanitizerCommon, ReservedAddressRangeUnmap) { EXPECT_DEATH(address_range.Unmap(base_addr + (PageSize * 2), PageSize), ".*"); } +// Windows has no working ReadBinaryName. +#if !SANITIZER_WINDOWS +TEST(SanitizerCommon, ReadBinaryNameCached) { + char buf[256]; + EXPECT_NE((uptr)0, ReadBinaryNameCached(buf, sizeof(buf))); +} +#endif + } // namespace __sanitizer -- 2.7.4