From c934659736c7ae546fbcf7c8f546e152955bc1be Mon Sep 17 00:00:00 2001 From: Chaoren Lin Date: Sat, 28 Feb 2015 00:20:16 +0000 Subject: Casting pid to ::pid_t when invoking syscall. Summary: syscalls involving pid/tid on 32 bit binaries are failing with "Invalid argument" because the uint64_t arguments are too wide. Reviewers: clayborg, ovyalov, sivachandra Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D7963 llvm-svn: 230817 --- lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp') diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp index 61d498f..198addd 100644 --- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp +++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp @@ -123,7 +123,8 @@ // Try to define a macro to encapsulate the tgkill syscall // fall back on kill() if tgkill isn't available -#define tgkill(pid, tid, sig) syscall(SYS_tgkill, pid, tid, sig) +#define tgkill(pid, tid, sig) \ + syscall(SYS_tgkill, static_cast<::pid_t>(pid), static_cast<::pid_t>(tid), sig) // We disable the tracing of ptrace calls for integration builds to // avoid the additional indirection and checks. -- cgit v1.1