From e1df47ff9a7f3e1ed90969109258f2686f74ce0d Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 14 Jan 2003 09:46:15 +0000 Subject: [PATCH] 2003-01-14 Roland McGrath * util.c [LINUX] (restore_arg0, restore_arg1): New macros, defined appropriately via set_arg0 or no-ops for each architecture. (clearbpt): Use those instead of set_arg0 and set_arg1. --- util.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/util.c b/util.c index 9c4a9e52..d3cec2d1 100644 --- a/util.c +++ b/util.c @@ -1190,18 +1190,22 @@ typedef struct regs arg_setup_state; # define get_arg1(tcp, state, valp) (*(valp) = (state)->r_o1, 0) # define set_arg0(tcp, state, val) ((state)->r_o0 = (val), 0) # define set_arg1(tcp, state, val) ((state)->r_o1 = (val), 0) +# define restore_arg0(tcp, state, val) 0 #else # if defined S390 || defined S390X # define arg0_offset PT_ORIGGPR2 # define arg1_offset PT_GPR2 +# define restore_arg0(tcp, state, val) 0 +# define restore_arg1(tcp, state, val) 0 # elif defined (ALPHA) || defined (MIPS) # define arg0_offset REG_A0 # define arg1_offset (REG_A0+1) # elif defined (POWERPC) # define arg0_offset (4*PT_R3) # define arg1_offset (4*PT_R4) +# define restore_arg0(tcp, state, val) 0 # elif defined (HPPA) # define arg0_offset PT_GR26 # define arg1_offset (PT_GR26-4) @@ -1211,6 +1215,9 @@ typedef struct regs arg_setup_state; # else # define arg0_offset 0 # define arg1_offset 4 +# if defined SH || defined ARM +# define restore_arg0(tcp, state, val) 0 +# endif # endif typedef int arg_setup_state; @@ -1236,6 +1243,12 @@ set_arg1 (struct tcb *tcp, void *cookie, long val) #endif +#ifndef restore_arg0 +# define restore_arg0(tcp, state, val) set_arg0((tcp), (state), (val)) +#endif +#ifndef restore_arg1 +# define restore_arg1(tcp, state, val) set_arg1((tcp), (state), (val)) +#endif int setbpt(tcp) @@ -1295,8 +1308,8 @@ struct tcb *tcp; { arg_setup_state state; if (arg_setup (tcp, &state) < 0 - || set_arg0 (tcp, &state, tcp->inst[0]) < 0 - || set_arg1 (tcp, &state, tcp->inst[1]) < 0 + || restore_arg0 (tcp, &state, tcp->inst[0]) < 0 + || restore_arg1 (tcp, &state, tcp->inst[1]) < 0 || arg_finish_change (tcp, &state)) return -1; tcp->flags &= ~TCB_BPTSET; -- 2.40.0