summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2019-02-28 19:34:01 +0000
committerH.J. Lu <hjl.tools@gmail.com>2019-02-28 19:34:01 +0000
commitfadb22f4e2d64b614c87f48b625adaf217cc904f (patch)
tree2b7db2ab27adca9d4afab35bcaf6b807804612b6
parentb79f1f2e2a0e77e7d7c71ff95f145ec920e4947d (diff)
downloadbcm5719-llvm-fadb22f4e2d64b614c87f48b625adaf217cc904f.tar.gz
bcm5719-llvm-fadb22f4e2d64b614c87f48b625adaf217cc904f.zip
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
-rw-r--r--compiler-rt/lib/sanitizer_common/sanitizer_linux.cc2
-rw-r--r--compiler-rt/lib/sanitizer_common/tests/sanitizer_common_test.cc8
2 files changed, 9 insertions, 1 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc b/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc
index 3ca48ae7076..8b981fb025f 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 b7454fac87c..2350de943b3 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
OpenPOWER on IntegriCloud