From c247c358a225baaf78a1500b98259e08557a5c65 Mon Sep 17 00:00:00 2001 From: Simon Kagstrom Date: Mon, 8 Jul 2024 15:49:40 +0200 Subject: [PATCH 1/2] ptrace_linux: Get rid of (__ptrace_request) casts --- src/engines/ptrace_linux.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/engines/ptrace_linux.cc b/src/engines/ptrace_linux.cc index a73be00f..0f63fdff 100644 --- a/src/engines/ptrace_linux.cc +++ b/src/engines/ptrace_linux.cc @@ -329,7 +329,7 @@ static long getRegs(pid_t pid, void *addr, void *regs, size_t len) return ptrace(PTRACE_GETREGSET, pid, (void *)NT_PRSTATUS, &iov); #else (void) len; - return ptrace((__ptrace_request ) PTRACE_GETREGS, pid, NULL, regs); + return ptrace(PTRACE_GETREGS, pid, NULL, regs); #endif } @@ -361,12 +361,12 @@ static int kill_lwp(unsigned long lwpid, int signo) unsigned long ptrace_sys::peekWord(pid_t pid, unsigned long aligned_addr) { - return ptrace((__ptrace_request ) PTRACE_PEEKTEXT, pid, aligned_addr, 0); + return ptrace(PTRACE_PEEKTEXT, pid, aligned_addr, 0); } void ptrace_sys::pokeWord(pid_t pid, unsigned long aligned_addr, unsigned long value) { - ptrace((__ptrace_request ) PTRACE_POKETEXT, pid, aligned_addr, value); + ptrace(PTRACE_POKETEXT, pid, aligned_addr, value); } static long setRegs(pid_t pid, void *addr, void *regs, size_t len) @@ -377,7 +377,7 @@ static long setRegs(pid_t pid, void *addr, void *regs, size_t len) return ptrace(PTRACE_SETREGSET, pid, (void *)NT_PRSTATUS, &iov); #else (void) len; - return ptrace((__ptrace_request ) PTRACE_SETREGS, pid, NULL, regs); + return ptrace(PTRACE_SETREGS, pid, NULL, regs); #endif } From 1c633cca943f52e011cf14a84a8203bfa05a4529 Mon Sep 17 00:00:00 2001 From: Simon Kagstrom Date: Mon, 8 Jul 2024 16:29:18 +0200 Subject: [PATCH 2/2] build: Build PowerPC linux with -fpermissive --- src/CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3ab7c200..99a0ddd6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -157,6 +157,12 @@ set (MACHO_SRCS ) set (SOLIB_generated ) + +# Avoid error: invalid conversion from 'int' to '__ptrace_request' on PowerPC +if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_TARGET_ARCHITECTURES MATCHES "ppc64") + add_compile_options(-fpermissive) +endif() + # Linux-specific sources if (CMAKE_SYSTEM_NAME STREQUAL "Linux") find_package (LibElf)