diff options
author | wbx <wbx@hydrogenium.(none)> | 2009-05-17 14:41:34 +0200 |
---|---|---|
committer | wbx <wbx@hydrogenium.(none)> | 2009-05-17 14:41:34 +0200 |
commit | 219a6dab8995aad9ac4860cc1a84d6f3509a03a4 (patch) | |
tree | b9c0f3c43aebba2fcfef777592d0add39f2072f4 /package/strace/patches/patch-process_c |
Initial import
Diffstat (limited to 'package/strace/patches/patch-process_c')
-rw-r--r-- | package/strace/patches/patch-process_c | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/package/strace/patches/patch-process_c b/package/strace/patches/patch-process_c new file mode 100644 index 000000000..7309200d0 --- /dev/null +++ b/package/strace/patches/patch-process_c @@ -0,0 +1,109 @@ +$Id: update-patches 24 2008-08-31 14:56:13Z wbx $ +--- strace-4.5.18.orig/process.c 2008-07-18 04:16:47.000000000 +0200 ++++ strace-4.5.18/process.c 2009-01-02 21:24:05.490094969 +0100 +@@ -584,7 +584,7 @@ extern void print_ldt_entry(); + # define ARG_PTID (known_scno(tcp) == SYS_clone2 ? 3 : 2) + # define ARG_CTID (known_scno(tcp) == SYS_clone2 ? 4 : 3) + # define ARG_TLS (known_scno(tcp) == SYS_clone2 ? 5 : 4) +-# elif defined S390 || defined S390X ++# elif defined S390 || defined S390X || defined CRISV10 || defined CRISV32 + # define ARG_STACK 0 + # define ARG_FLAGS 1 + # define ARG_PTID 2 +@@ -740,6 +740,10 @@ int new; + 0x100000 | new) < 0) + return -1; + return 0; ++#elif defined(CRISV10) || defined(CRISV32) ++ if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(4*PT_R9), new) < 0) ++ return -1; ++ return 0; + #elif defined(ARM) + /* Some kernels support this, some (pre-2.6.16 or so) don't. */ + # ifndef PTRACE_SET_SYSCALL +@@ -3003,7 +3007,77 @@ const struct xlat struct_user_offsets[] + { 69, "fpcsr" }, + { 70, "fpeir" }, + #endif ++#ifdef CRISV10 ++ { 4*PT_FRAMETYPE, "4*PT_FRAMETYPE" }, ++ { 4*PT_ORIG_R10, "4*PT_ORIG_R10" }, ++ { 4*PT_R13, "4*PT_R13" }, ++ { 4*PT_R12, "4*PT_R12" }, ++ { 4*PT_R11, "4*PT_R11" }, ++ { 4*PT_R10, "4*PT_R10" }, ++ { 4*PT_R9, "4*PT_R9" }, ++ { 4*PT_R8, "4*PT_R8" }, ++ { 4*PT_R7, "4*PT_R7" }, ++ { 4*PT_R6, "4*PT_R6" }, ++ { 4*PT_R5, "4*PT_R5" }, ++ { 4*PT_R4, "4*PT_R4" }, ++ { 4*PT_R3, "4*PT_R3" }, ++ { 4*PT_R2, "4*PT_R2" }, ++ { 4*PT_R1, "4*PT_R1" }, ++ { 4*PT_R0, "4*PT_R0" }, ++ { 4*PT_MOF, "4*PT_MOF" }, ++ { 4*PT_DCCR, "4*PT_DCCR" }, ++ { 4*PT_SRP, "4*PT_SRP" }, ++ { 4*PT_IRP, "4*PT_IRP" }, ++ { 4*PT_CSRINSTR, "4*PT_CSRINSTR" }, ++ { 4*PT_CSRADDR, "4*PT_CSRADDR" }, ++ { 4*PT_CSRDATA, "4*PT_CSRDATA" }, ++ { 4*PT_USP, "4*PT_USP" }, ++#endif ++#ifdef CRISV32 ++ { 4*PT_ORIG_R10, "4*PT_ORIG_R10" }, ++ { 4*PT_R0, "4*PT_R0" }, ++ { 4*PT_R1, "4*PT_R1" }, ++ { 4*PT_R2, "4*PT_R2" }, ++ { 4*PT_R3, "4*PT_R3" }, ++ { 4*PT_R4, "4*PT_R4" }, ++ { 4*PT_R5, "4*PT_R5" }, ++ { 4*PT_R6, "4*PT_R6" }, ++ { 4*PT_R7, "4*PT_R7" }, ++ { 4*PT_R8, "4*PT_R8" }, ++ { 4*PT_R9, "4*PT_R9" }, ++ { 4*PT_R10, "4*PT_R10" }, ++ { 4*PT_R11, "4*PT_R11" }, ++ { 4*PT_R12, "4*PT_R12" }, ++ { 4*PT_R13, "4*PT_R13" }, ++ { 4*PT_ACR, "4*PT_ACR" }, ++ { 4*PT_SRS, "4*PT_SRS" }, ++ { 4*PT_MOF, "4*PT_MOF" }, ++ { 4*PT_SPC, "4*PT_SPC" }, ++ { 4*PT_CCS, "4*PT_CCS" }, ++ { 4*PT_SRP, "4*PT_SRP" }, ++ { 4*PT_ERP, "4*PT_ERP" }, ++ { 4*PT_EXS, "4*PT_EXS" }, ++ { 4*PT_EDA, "4*PT_EDA" }, ++ { 4*PT_USP, "4*PT_USP" }, ++ { 4*PT_PPC, "4*PT_PPC" }, ++ { 4*PT_BP_CTRL, "4*PT_BP_CTRL" }, ++ { 4*PT_BP+4, "4*PT_BP+4" }, ++ { 4*PT_BP+8, "4*PT_BP+8" }, ++ { 4*PT_BP+12, "4*PT_BP+12" }, ++ { 4*PT_BP+16, "4*PT_BP+16" }, ++ { 4*PT_BP+20, "4*PT_BP+20" }, ++ { 4*PT_BP+24, "4*PT_BP+24" }, ++ { 4*PT_BP+28, "4*PT_BP+28" }, ++ { 4*PT_BP+32, "4*PT_BP+32" }, ++ { 4*PT_BP+36, "4*PT_BP+36" }, ++ { 4*PT_BP+40, "4*PT_BP+40" }, ++ { 4*PT_BP+44, "4*PT_BP+44" }, ++ { 4*PT_BP+48, "4*PT_BP+48" }, ++ { 4*PT_BP+52, "4*PT_BP+52" }, ++ { 4*PT_BP+56, "4*PT_BP+56" }, ++#endif + ++#if !defined(CRISV10) && !defined(CRISV32) + #if !defined(S390) && !defined(S390X) && !defined(MIPS) && !defined(SPARC64) + { uoff(u_fpvalid), "offsetof(struct user, u_fpvalid)" }, + #endif +@@ -3041,6 +3115,7 @@ const struct xlat struct_user_offsets[] + #if defined(I386) || defined(X86_64) + { uoff(u_debugreg), "offsetof(struct user, u_debugreg)" }, + #endif /* I386 */ ++#endif /* !CRISV10/!CRISV32 */ + #endif /* !IA64 */ + #endif /* !ALPHA */ + #endif /* !POWERPC/!SPARC */ |