mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-27 05:44:15 +08:00
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
This commit is contained in:
parent
9e8fc96cdc
commit
4dfc5b351f
@ -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
|
||||
|
@ -395,7 +395,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
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user