psmisc/peekfd-m68k.patch

65 lines
2.1 KiB
Diff

Index: psmisc-22.20/configure.ac
===================================================================
--- psmisc-22.20.orig/configure.ac
+++ psmisc-22.20/configure.ac
@@ -128,6 +128,8 @@ AC_CHECK_MEMBERS([struct pt_regs.orig_gp
AC_CHECK_MEMBERS([struct pt_regs.uregs],[],[], [#include <asm/ptrace.h>])
AC_CHECK_MEMBERS([struct pt_regs.regs,
struct pt_regs.cp0_status],[],[], [#include <asm/ptrace.h>])
+AC_CHECK_MEMBERS([struct pt_regs.orig_d0,
+ struct pt_regs.d0],[],[], [#include <asm/ptrace.h>])
case ${target_os} in
gnu*)
@@ -160,6 +162,9 @@ AM_CONDITIONAL(WANT_PEEKFD_MIPS,
test $build_cpu = mipsel &&
test $ac_cv_member_struct_pt_regs_regs = yes &&
test $ac_cv_member_struct_pt_regs_cp0_status = yes)
+AM_CONDITIONAL(WANT_PEEKFD_M68K,
+ test $ac_cv_member_struct_pt_regs_orig_d0 = yes &&
+ test $ac_cv_member_struct_pt_regs_d0 = yes)
dnl Checks for library functions.
AC_FUNC_CLOSEDIR_VOID
Index: psmisc-22.20/src/Makefile.am
===================================================================
--- psmisc-22.20.orig/src/Makefile.am
+++ psmisc-22.20/src/Makefile.am
@@ -29,6 +29,10 @@ if WANT_PEEKFD_MIPS
bin_PROGRAMS += peekfd
AM_CFLAGS += -DMIPS
endif
+if WANT_PEEKFD_M68K
+ bin_PROGRAMS += peekfd
+ AM_CFLAGS += -DM68K
+endif
fuser_SOURCES = fuser.c comm.h signals.c signals.h i18n.h fuser.h lists.h
if WANT_TIMEOUT_STAT
Index: psmisc-22.20/src/peekfd.c
===================================================================
--- psmisc-22.20.orig/src/peekfd.c
+++ psmisc-22.20/src/peekfd.c
@@ -76,6 +76,12 @@
#define REG_PARAM1 regs[4]
#define REG_PARAM2 regs[5]
#define REG_PARAM3 regs[6]
+#elif defined(M68K)
+ #define REG_ORIG_ACCUM orig_d0
+ #define REG_ACCUM d0
+ #define REG_PARAM1 d1
+ #define REG_PARAM2 d2
+ #define REG_PARAM3 d3
#endif
#define MAX_ATTACHED_PIDS 1024
@@ -270,7 +276,7 @@ int main(int argc, char **argv)
}
for (i = 0; i < regs.REG_PARAM3; i++) {
-#ifdef _BIG_ENDIAN
+#if BYTE_ORDER == BIG_ENDIAN
#if __WORDSIZE == 64
unsigned int a = bswap_64(ptrace(PTRACE_PEEKTEXT, pid, regs.REG_PARAM2 + i, 0));
#else