]> granicus.if.org Git - strace/commitdiff
upeek, upoke: change argument types from long to unsigned long
authorDmitry V. Levin <ldv@altlinux.org>
Sun, 25 Dec 2016 12:53:14 +0000 (12:53 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Sun, 25 Dec 2016 20:14:12 +0000 (20:14 +0000)
* defs.h (upeek, upoke): Change offset argument type from long
to unsigned long.  Change res argument type from long to kernel_ureg_t.
* upeek.c (upeek): Likewise.
* upoke.c (upoke.c): Likewise.
* syscall.c (print_pc) [ARCH_PC_PEEK_ADDR]: Change pc type from long
to kernel_ureg_t.
* linux/aarch64/arch_regs.c (arm_sp_ptr): Remove redundant cast.
* linux/metag/get_syscall_args.c (get_syscall_args): Likewise.
* linux/sh/get_syscall_result.c (get_syscall_result_regs): Likewise.
* linux/sh64/get_syscall_result.c (get_syscall_result_regs): Likewise.
* linux/powerpc/getregs_old.c (getregs_old): Remove redundant casts.
* linux/alpha/arch_getrval2.c (getrval2): Change r20 type from long
to unsigned long.
* linux/alpha/arch_regs.c (alpha_r0, alpha_a3): Change type from long
to unsigned long.
* linux/bfin/arch_regs.c (bfin_r0): Likewise.
* linux/crisv10/arch_regs.c (cris_r10): Likewise.
* linux/hppa/arch_regs.c (hppa_r28): Likewise.
* linux/ia64/arch_regs.c (IA64_PSR_IS): Likewise.
* linux/microblaze/arch_regs.c (microblaze_r3): Likewise.
* linux/sh/arch_regs.c (sh_r0): Likewise.
* linux/sh64/arch_regs.c (sh64_r9): Likewise.
* linux/xtensa/arch_regs.c (xtensa_a2): Likewise.
* linux/alpha/arch_sigreturn.c (arch_sigreturn): Change addr type
from long to unsigned long.
* linux/microblaze/arch_sigreturn.c (arch_sigreturn): Likewise.
* linux/alpha/get_scno.c (arch_get_scno): Update for the change
of signedness.
* linux/arc/get_syscall_args.c (get_syscall_args): Change arc_args type
from pointer to long to pointer to unsigned long.
* linux/arm/arch_regs.c (arm_sp_ptr): Change type from pointer to long
to pointer to unsigned long.
* linux/arm/arch_regs.h (arm_sp_ptr): Likewise.
* linux/i386/arch_regs.c (i386_esp_ptr): Likewise.
* linux/i386/arch_regs.h (i386_esp_ptr): Likewise.
* linux/m68k/arch_regs.c (m68k_usp_ptr): Likewise.
* linux/m68k/arch_regs.h (m68k_usp_ptr): Likewise.
* linux/ia64/get_syscall_args.c (get_syscall_args): Use umove
instead of umoven.
* linux/sh/arch_getrval2.c (getrval2): Change val type from long
to unsigned long.

31 files changed:
defs.h
linux/aarch64/arch_regs.c
linux/alpha/arch_getrval2.c
linux/alpha/arch_regs.c
linux/alpha/arch_sigreturn.c
linux/alpha/get_scno.c
linux/arc/get_syscall_args.c
linux/arm/arch_regs.c
linux/arm/arch_regs.h
linux/bfin/arch_regs.c
linux/crisv10/arch_regs.c
linux/hppa/arch_regs.c
linux/i386/arch_regs.c
linux/i386/arch_regs.h
linux/ia64/arch_regs.c
linux/ia64/get_syscall_args.c
linux/m68k/arch_regs.c
linux/m68k/arch_regs.h
linux/metag/get_syscall_args.c
linux/microblaze/arch_regs.c
linux/microblaze/arch_sigreturn.c
linux/powerpc/getregs_old.c
linux/sh/arch_getrval2.c
linux/sh/arch_regs.c
linux/sh/get_syscall_result.c
linux/sh64/arch_regs.c
linux/sh64/get_syscall_result.c
linux/xtensa/arch_regs.c
syscall.c
upeek.c
upoke.c

diff --git a/defs.h b/defs.h
index d8a96e73e9c5b92d48367bbf899dc7c8a417fa71..86c26f70b84c95effdd8107d72ca66f330208085 100644 (file)
--- a/defs.h
+++ b/defs.h
@@ -511,8 +511,8 @@ umoven_or_printaddr_ignore_syserror(struct tcb *tcp, kernel_ureg_t addr,
 extern int
 umovestr(struct tcb *tcp, kernel_ureg_t addr, unsigned int len, char *laddr);
 
-extern int upeek(int pid, long, long *);
-extern int upoke(int pid, long, long);
+extern int upeek(int pid, unsigned long, kernel_ureg_t *);
+extern int upoke(int pid, unsigned long, kernel_ureg_t);
 
 extern bool
 print_array(struct tcb *tcp,
index 8e18a71c87fa640e4bc29056e601aaa08e66c04a..4ccb1f5bf6057dc396c8fe4b498c9641356978b2 100644 (file)
@@ -28,7 +28,7 @@ static union {
 #define arm_regs     arm_regs_union.arm_r
 
 uint64_t *const aarch64_sp_ptr = (uint64_t *) &aarch64_regs.sp;
-uint32_t *const arm_sp_ptr = (uint32_t *) &arm_regs.ARM_sp;
+uint32_t *const arm_sp_ptr = &arm_regs.ARM_sp;
 static struct iovec aarch64_io = {
        .iov_base = &arm_regs_union
 };
index 90ee392e5f3e0fc1913a00a0d7f70df9a72e0103..f78a9f0ff24edb1bf6305d83a07c09a891e54500 100644 (file)
@@ -1,7 +1,7 @@
 long
 getrval2(struct tcb *tcp)
 {
-       long r20;
+       unsigned long r20;
        if (upeek(tcp->pid, 20, &r20) < 0)
                return -1;
        return r20;
index df1878e2d44e982c9d17e7f76b404a8d762fc062..4d397996286dc4c152fc6dc255a89de6894c7c99 100644 (file)
@@ -1,3 +1,3 @@
-static long alpha_r0;
-static long alpha_a3;
+static unsigned long alpha_r0;
+static unsigned long alpha_a3;
 #define ARCH_PC_PEEK_ADDR REG_PC
index 71a84ef2ead709b645699059c25da0ddf5039eed..320f91f99926b1010907e8a815fc516afa7cc688 100644 (file)
@@ -1,7 +1,7 @@
 static void
 arch_sigreturn(struct tcb *tcp)
 {
-       long addr;
+       unsigned long addr;
 
        if (upeek(tcp->pid, REG_FP, &addr) < 0)
                return;
index 13002775ba82f5358cdbd7023e1a09afaf5cfe94..8e7bab6b27d9572bf9a4da1f5de68d7f64fca9d2 100644 (file)
@@ -14,9 +14,9 @@ arch_get_scno(struct tcb *tcp)
         * really a syscall entry
         */
        if (!scno_in_range(scno)) {
-               if (alpha_a3 == 0 || alpha_a3 == -1) {
+               if (alpha_a3 == 0 || alpha_a3 == -1UL) {
                        if (debug_flag)
-                               error_msg("stray syscall exit: r0 = %ld", scno);
+                               error_msg("stray syscall exit: r0 = %lu", scno);
                        return 0;
                }
        }
index 4d6ace5c3f75c99b5248abfcd75ab34ae438b623..85e867f0e53164e3581f873941e9a573af2aced3 100644 (file)
@@ -2,7 +2,7 @@
 static int
 get_syscall_args(struct tcb *tcp)
 {
-       long *arc_args = &arc_regs.scratch.r0;
+       unsigned long *arc_args = &arc_regs.scratch.r0;
        unsigned int i;
 
        for (i = 0; i < MAX_ARGS; ++i)
index f5c02f0d79fb5f04ba089a37f13f9c4b4caf5b0c..8b73cb864330fe2b64eec331b6036267ec35ef5a 100644 (file)
@@ -1,5 +1,5 @@
 static struct pt_regs arm_regs;
-long *const arm_sp_ptr = &arm_regs.ARM_sp;
+unsigned long *const arm_sp_ptr = (unsigned long *) &arm_regs.ARM_sp;
 
 #define ARCH_REGS_FOR_GETREGS arm_regs
 #define ARCH_PC_REG arm_regs.ARM_pc
index bdbc8e95d2938d08e6c4379c84afc62205fa21b3..4edd50c7e49597aefe48ad1dc5859e702fae0746 100644 (file)
@@ -1 +1 @@
-extern long *const arm_sp_ptr;
+extern unsigned long *const arm_sp_ptr;
index e1aa15e4ff3a7faeb8a3f4940551d6f031ab56d8..ea76cb98604514d586d31d105f11c94092913a3e 100644 (file)
@@ -1,2 +1,2 @@
-static long bfin_r0;
+static unsigned long bfin_r0;
 #define ARCH_PC_PEEK_ADDR PT_PC
index 8f69b87383c2f63396e1d497de8c71363bc1c42a..9c372a361300ad7b488ee51df6080ed6fbdc3481 100644 (file)
@@ -1,2 +1,2 @@
-static long cris_r10;
+static unsigned long cris_r10;
 #define ARCH_PC_PEEK_ADDR (4 * PT_IRP)
index 65432abb47558b1ea666b3f0408cb9e16e035a0e..7113bdb681eabaf84d0db30be442c92bd2486780 100644 (file)
@@ -1,2 +1,2 @@
-static long hppa_r28;
+static unsigned long hppa_r28;
 #define ARCH_PC_PEEK_ADDR PT_IAOQ0
index ef30046542dc60f78d6549492e953002cb410db8..0dcea1f051f06c0f3339cbca83881ccb45ab085e 100644 (file)
@@ -1,5 +1,5 @@
 static struct user_regs_struct i386_regs;
-long *const i386_esp_ptr = &i386_regs.esp;
+unsigned long *const i386_esp_ptr = (unsigned long *) &i386_regs.esp;
 
 #define ARCH_REGS_FOR_GETREGS i386_regs
 #define ARCH_PC_REG i386_regs.eip
index 77984ff7c315abcab1afb1a152dcffef92ab6acb..6f622092058512f324ce7689c9c53dc0ed70571c 100644 (file)
@@ -1 +1 @@
-extern long *const i386_esp_ptr;
+extern unsigned long *const i386_esp_ptr;
index 14fffd5c4905b07d453507b2b5e6a684c3beb7ad..deec1769d18e6b2a3b5d650e6a2713ac97e912cc 100644 (file)
@@ -1,7 +1,7 @@
 static struct pt_all_user_regs ia64_regs;
 unsigned long *const ia64_frame_ptr = &ia64_regs.gr[12];
 
-#define IA64_PSR_IS    ((long)1 << 34)
+#define IA64_PSR_IS    (1UL << 34)
 #define ia64_ia32mode  (ia64_regs.cr_ipsr & IA64_PSR_IS)
 
 #define ARCH_REGS_FOR_GETREGS ia64_regs
index 2295d08dce8fa5fd47ae0fa216904cffa7ad2de0..1b942ebaeb589c50d475e902c445d7a48b1535cb 100644 (file)
@@ -11,9 +11,9 @@ get_syscall_args(struct tcb *tcp)
                unsigned int i;
 
                for (i = 0; i < tcp->s_ent->nargs; ++i) {
-                       if (umoven(tcp,
-                                  (unsigned long) ia64_rse_skip_regs(out0, i),
-                                  sizeof(long), &tcp->u_arg[i]) < 0)
+                       if (umove(tcp,
+                                 (unsigned long) ia64_rse_skip_regs(out0, i),
+                                 &tcp->u_arg[i]) < 0)
                                return -1;
                }
        } else {
index 1198762b07b4dad6338485e3078a7e52816b17e6..3d4c3d9e48018422bd19d191415aff9941e9cca6 100644 (file)
@@ -1,4 +1,4 @@
 static struct user_regs_struct m68k_regs;
-long *const m68k_usp_ptr = &m68k_regs.usp;
+unsigned long *const m68k_usp_ptr = (unsigned long *) &m68k_regs.usp;
 #define ARCH_PC_REG m68k_regs.pc
 #define ARCH_REGS_FOR_GETREGS m68k_regs
index 08293365e3167e4c3d7a00cf5b5cb805d16daf56..424ec11cb0775fefc12b521deb88a59670f2a1f6 100644 (file)
@@ -1 +1 @@
-extern long *const m68k_usp_ptr;
+extern unsigned long *const m68k_usp_ptr;
index b7c10f45ffa770e07eab135b888e72d2f38bf06c..4cae04f1dad3979ef493a5c9f88a14d8f43a0342 100644 (file)
@@ -6,7 +6,7 @@ get_syscall_args(struct tcb *tcp)
 
        for (i = 0; i < MAX_ARGS; i++) {
                /* arguments go backwards from D1Ar1 (D1.3) */
-               tcp->u_arg[i] = ((unsigned long *)&metag_regs.dx[3][1])[-i];
+               tcp->u_arg[i] = (&metag_regs.dx[3][1])[-i];
        }
        return 1;
 }
index c7bafabd2224fbf8cce6647bfbabee0c796bd80f..a5fec6112ab3d5c7c23947b1d9a4ccf26bfe9ec8 100644 (file)
@@ -1,2 +1,2 @@
-static long microblaze_r3;
+static unsigned long microblaze_r3;
 #define ARCH_PC_PEEK_ADDR PT_PC
index 839c8057831bdcafb6118fd34fdbb23a0ce4e4db..c8948153b61fa51788eba6514b4a3c0c15e78cc7 100644 (file)
@@ -3,7 +3,7 @@ arch_sigreturn(struct tcb *tcp)
 {
        /* TODO: Verify that this is correct...  */
 
-       long addr;
+       unsigned long addr;
 
        /* Read r1, the stack pointer.  */
        if (upeek(tcp->pid, 1 * 4, &addr) < 0)
index 22167cb2607893cd784fa1973e4b1837d4a0d3af..1730f033f53a01fcc12dc5cfcac1ed3a6e03c7ba 100644 (file)
@@ -9,24 +9,24 @@ getregs_old(pid_t pid)
        long r;
 
        if (iflag) {
-               r = upeek(pid, sizeof(long) * PT_NIP, (long *)&ppc_regs.nip);
+               r = upeek(pid, sizeof(long) * PT_NIP, &ppc_regs.nip);
                if (r)
                        goto out;
        }
 #ifdef POWERPC64 /* else we never use it */
-       r = upeek(pid, sizeof(long) * PT_MSR, (long *)&ppc_regs.msr);
+       r = upeek(pid, sizeof(long) * PT_MSR, &ppc_regs.msr);
        if (r)
                goto out;
 #endif
-       r = upeek(pid, sizeof(long) * PT_CCR, (long *)&ppc_regs.ccr);
+       r = upeek(pid, sizeof(long) * PT_CCR, &ppc_regs.ccr);
        if (r)
                goto out;
-       r = upeek(pid, sizeof(long) * PT_ORIG_R3, (long *)&ppc_regs.orig_gpr3);
+       r = upeek(pid, sizeof(long) * PT_ORIG_R3, &ppc_regs.orig_gpr3);
        if (r)
                goto out;
        for (i = 0; i <= 8; i++) {
                r = upeek(pid, sizeof(long) * (PT_R0 + i),
-                         (long *)&ppc_regs.gpr[i]);
+                         &ppc_regs.gpr[i]);
                if (r)
                        goto out;
        }
index 8f60de740f337af2bbf5818c2ac885e22fd9f9df..27b7cdd07345519b426295857e98c09d286232fa 100644 (file)
@@ -1,7 +1,7 @@
 long
 getrval2(struct tcb *tcp)
 {
-       long val;
+       unsigned long val;
        if (upeek(tcp->pid, 4*(REG_REG0+1), &val) < 0)
                return -1;
        return val;
index 0ce81843e9001486cf4b286a13a37ad3693382f1..5429b4f5c7974410c6ed5afbbc0aa5b94d7da1b3 100644 (file)
@@ -1,2 +1,2 @@
-static long sh_r0;
+static unsigned long sh_r0;
 #define ARCH_PC_PEEK_ADDR (4 * REG_PC)
index 5db3025489558526d652843f51f1602b4b79ef95..f7b93b7465e9c5ecc95b7e89069f55d889382b4b 100644 (file)
@@ -2,5 +2,5 @@ static int
 get_syscall_result_regs(struct tcb *tcp)
 {
        /* new syscall ABI returns result in R0 */
-       return upeek(tcp->pid, 4 * REG_REG0, (long *)&sh_r0) < 0 ? -1 : 0;
+       return upeek(tcp->pid, 4 * REG_REG0, &sh_r0) < 0 ? -1 : 0;
 }
index eb6701b95edbfd6275b0c100266be3d16edf54c0..8b3202a8ad8d4335762c3c57681d3858b3b0889f 100644 (file)
@@ -1,2 +1,2 @@
-static long sh64_r9;
+static unsigned long sh64_r9;
 #define ARCH_PC_PEEK_ADDR REG_PC
index 93faf3dfcdec13086c5f65d1adec092129b2d206..4264dccc9ff3929d831f7cff9444b748d1ef3d5a 100644 (file)
@@ -2,5 +2,5 @@ static int
 get_syscall_result_regs(struct tcb *tcp)
 {
        /* ABI defines result returned in r9 */
-       return upeek(tcp->pid, REG_GENERAL(9), (long *)&sh64_r9) < 0 ? -1 : 0;
+       return upeek(tcp->pid, REG_GENERAL(9), &sh64_r9) < 0 ? -1 : 0;
 }
index d36f56a05dec18835b3a9e39afdcf1ed53caf837..67e5f010f9d9a080dd9138e649886e7a3bb28ff5 100644 (file)
@@ -1,2 +1,2 @@
-static long xtensa_a2;
+static unsigned long xtensa_a2;
 #define ARCH_PC_PEEK_ADDR REG_PC
index 6839dabe63a2dd09039a0363eeba5bbd490fbebe..41c89432275ee34f6216d5a556e6535c9747abc2 100644 (file)
--- a/syscall.c
+++ b/syscall.c
@@ -1048,7 +1048,7 @@ print_pc(struct tcb *tcp)
 #if defined ARCH_PC_REG
 # define ARCH_GET_PC 0
 #elif defined ARCH_PC_PEEK_ADDR
-       long pc;
+       kernel_ureg_t pc;
 # define ARCH_PC_REG pc
 # define ARCH_GET_PC upeek(tcp->pid, ARCH_PC_PEEK_ADDR, &pc)
 #else
diff --git a/upeek.c b/upeek.c
index 1edfcaa9db860d94a080cbf5780506074a3a6bb2..fbcbd380e781cdb9daa285be52254ff80685a59b 100644 (file)
--- a/upeek.c
+++ b/upeek.c
@@ -35,7 +35,7 @@
 #include "ptrace.h"
 
 int
-upeek(int pid, long off, long *res)
+upeek(int pid, unsigned long off, kernel_ureg_t *res)
 {
        long val;
 
@@ -47,6 +47,6 @@ upeek(int pid, long off, long *res)
                }
                return -1;
        }
-       *res = val;
+       *res = (unsigned long) val;
        return 0;
 }
diff --git a/upoke.c b/upoke.c
index e22c1eed912769198ef38fb12f8d9169eef53eb4..6746099aaf77bbdc16ad445371b5efb393470227 100644 (file)
--- a/upoke.c
+++ b/upoke.c
@@ -29,7 +29,7 @@
 #include "ptrace.h"
 
 int
-upoke(int pid, long off, long val)
+upoke(int pid, unsigned long off, kernel_ureg_t val)
 {
        if (ptrace(PTRACE_POKEUSER, (pid_t) pid, (void *) off, (void *) val)) {
                if (errno != ESRCH)