forked from pool/psmisc
Marcus Meissner
f0dfbd7a21
- peekfd-m68k.patch: Port peekfd to m68k OBS-URL: https://build.opensuse.org/request/show/203580 OBS-URL: https://build.opensuse.org/package/show/Base:System/psmisc?expand=0&rev=66
65 lines
2.1 KiB
Diff
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
|