SHA256
1
0
forked from pool/strace
strace/warn.patch

60 lines
1.4 KiB
Diff

--- process.c
+++ process.c
@@ -718,12 +718,12 @@
{
#if defined (IA64)
{
- unsigned long *bsp, *ap;
+ unsigned long bsp, *ap;
if (upeek(tcp->pid, PT_AR_BSP, (long *) &bsp) , 0)
return -1;
- ap = ia64_rse_skip_regs(bsp, argnum);
+ ap = ia64_rse_skip_regs((unsigned long *) bsp, argnum);
errno = 0;
ptrace(PTRACE_POKEDATA, tcp->pid, (char *) ap, tcp->u_arg[argnum]);
if (errno)
--- syscall.c
+++ syscall.c
@@ -1803,7 +1803,7 @@
#elif defined (IA64)
{
if (!ia32) {
- unsigned long *out0, *rbs_end, cfm, sof, sol, i;
+ unsigned long *out0, rbs_end, cfm, sof, sol, i;
/* be backwards compatible with kernel < 2.4.4... */
# ifndef PT_RBS_END
# define PT_RBS_END PT_AR_BSP
@@ -1816,7 +1816,7 @@
sof = (cfm >> 0) & 0x7f;
sol = (cfm >> 7) & 0x7f;
- out0 = ia64_rse_skip_regs(rbs_end, -sof + sol);
+ out0 = ia64_rse_skip_regs((unsigned long *)rbs_end, -sof + sol);
if (tcp->scno >= 0 && tcp->scno < nsyscalls
&& sysent[tcp->scno].nargs != -1)
--- util.c
+++ util.c
@@ -1172,7 +1172,7 @@
static int
arg_setup(struct tcb *tcp, arg_setup_state *state)
{
- unsigned long *bsp, cfm, sof, sol;
+ unsigned long bsp, cfm, sof, sol;
if (ia32)
return 0;
@@ -1184,9 +1184,8 @@
sof = (cfm >> 0) & 0x7f;
sol = (cfm >> 7) & 0x7f;
- bsp = ia64_rse_skip_regs(bsp, -sof + sol);
+ *state = ia64_rse_skip_regs((unsigned long *) bsp, -sof + sol);
- *state = bsp;
return 0;
}