diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2019-02-20 16:20:50 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2019-02-20 08:20:50 -0800 |
commit | 4dfc5b351f70e6c9a393a6a2a53eda22a5cf422b (patch) | |
tree | 66bcb3bf32df716c5aff1a48aacd95858bb180b3 /libsanitizer/ChangeLog | |
parent | 9e8fc96cdcd909a9ead698696e4fae76bd43b27f (diff) |
libsanitizer: Restore internal_readlink for x32
Cherry-pick compiler-rt revision 354451:
r316591 has
@@ -389,13 +383,11 @@ uptr internal_dup2(int oldfd, int newfd) {
}
uptr internal_readlink(const char *path, char *buf, uptr bufsize) {
-#if SANITIZER_NETBSD
- return internal_syscall_ptr(SYSCALL(readlink), path, buf, bufsize);
-#elif SANITIZER_USES_CANONICAL_LINUX_SYSCALLS
+#if SANITIZER_USES_CANONICAL_LINUX_SYSCALLS
return internal_syscall(SYSCALL(readlinkat), AT_FDCWD,
(uptr)path, (uptr)buf, bufsize);
#else
- return internal_syscall(SYSCALL(readlink), (uptr)path, (uptr)buf, bufsize);
+ return internal_syscall_ptr(SYSCALL(readlink), path, buf, bufsize);
#endif
}
which dropped the (uptr) cast and broke x32. This patch puts back the
(uptr) cast to restore x32 and fixes:
https://bugs.llvm.org/show_bug.cgi?id=40783
Differential Revision: https://reviews.llvm.org/D58413
PR sanitizer/89409
* sanitizer_common/sanitizer_linux.cc (internal_readlink):
Cherry-pick compiler-rt r354451.
From-SVN: r269042
Diffstat (limited to 'libsanitizer/ChangeLog')
-rw-r--r-- | libsanitizer/ChangeLog | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog index 28c645b5850..c7cc662af15 100644 --- a/libsanitizer/ChangeLog +++ b/libsanitizer/ChangeLog @@ -1,3 +1,9 @@ +2019-02-20 H.J. Lu <hongjiu.lu@intel.com> + + PR sanitizer/89409 + * sanitizer_common/sanitizer_linux.cc (internal_readlink): + Cherry-pick compiler-rt r354451. + 2019-01-23 Jonny Grant <jg@jguk.org> PR sanitizer/89010 |