void-packages/srcpkgs/radare2/patches/ptrace.patch
2018-10-18 19:07:24 +02:00

66 lines
2.2 KiB
Diff

--- libr/include/r_io.h.orig 2018-10-16 12:16:27.291564958 +0200
+++ libr/include/r_io.h 2018-10-16 12:34:33.867642425 +0200
@@ -26,7 +26,7 @@
#include <sys/ptrace.h>
#endif
-#if defined(__APPLE__) || __sun || __FreeBSD__ || __OpenBSD__
+#ifndef __GLIBC__
typedef int r_ptrace_request_t;
typedef int r_ptrace_data_t;
#else
--- shlr/ptrace-wrap/include/ptrace_wrap.h.orig 2018-10-18 12:55:38.018615324 +0200
+++ shlr/ptrace-wrap/include/ptrace_wrap.h 2018-10-18 12:57:01.590996880 +0200
@@ -22,6 +22,12 @@
#include <semaphore.h>
#include <sys/ptrace.h>
+#ifdef __GLIBC__
+typedef enum __ptrace_request __ptrace_request;
+#else
+typedef int __ptrace_request;
+#endif
+
typedef enum {
PTRACE_WRAP_REQUEST_TYPE_STOP,
PTRACE_WRAP_REQUEST_TYPE_PTRACE,
@@ -32,7 +38,7 @@
ptrace_wrap_request_type type;
union {
struct {
- enum __ptrace_request request;
+ __ptrace_request request;
pid_t pid;
void *addr;
void *data;
@@ -59,7 +65,7 @@
int ptrace_wrap_instance_start(ptrace_wrap_instance *inst);
void ptrace_wrap_instance_stop(ptrace_wrap_instance *inst);
-long ptrace_wrap(ptrace_wrap_instance *inst, enum __ptrace_request request, pid_t pid, void *addr, void *data);
+long ptrace_wrap(ptrace_wrap_instance *inst, __ptrace_request request, pid_t pid, void *addr, void *data);
pid_t ptrace_wrap_fork(ptrace_wrap_instance *inst, void (*child_callback)(void *), void *child_callback_user);
#endif //PTRACE_WRAP_H
--- shlr/ptrace-wrap/src/ptrace_wrap.c.orig 2018-10-18 04:45:01.740833116 +0200
+++ shlr/ptrace-wrap/src/ptrace_wrap.c 2018-10-18 04:45:15.476897266 +0200
@@ -92,7 +92,7 @@
return NULL;
}
-long ptrace_wrap(ptrace_wrap_instance *inst, enum __ptrace_request request, pid_t pid, void *addr, void *data) {
+long ptrace_wrap(ptrace_wrap_instance *inst, __ptrace_request request, pid_t pid, void *addr, void *data) {
int _errno = 0;
inst->request.type = PTRACE_WRAP_REQUEST_TYPE_PTRACE;
inst->request.ptrace.request = request;
@@ -116,4 +116,4 @@
sem_wait (&inst->result_sem);
errno = _errno;
return inst->fork_result;
-}
\ No newline at end of file
+}