From: Dmitry V. Levin Date: Tue, 20 Dec 2016 21:46:10 +0000 (+0000) Subject: print_array: change tracee address type from unsigned long to kernel_ureg_t X-Git-Tag: v4.16~287 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=399fceeb06d5b6f1981ea44df0df33b99d1b4889;p=strace print_array: change tracee address type from unsigned long to kernel_ureg_t * defs.h (print_array): Change start_addr type from unsigned long to kernel_ureg_t. * util.c (print_array): Likewise. Change the type of all tracee address variables from unsigned long to kernel_ureg_t. --- diff --git a/defs.h b/defs.h index 2aea1040..ffb040e1 100644 --- a/defs.h +++ b/defs.h @@ -508,19 +508,19 @@ extern int upoke(int pid, long, long); extern bool print_array(struct tcb *tcp, - const unsigned long start_addr, - const size_t nmemb, - void *const elem_buf, - const size_t elem_size, - int (*const umoven_func)(struct tcb *, + kernel_ureg_t start_addr, + size_t nmemb, + void *elem_buf, + size_t elem_size, + int (*umoven_func)(struct tcb *, long, unsigned int, void *), - bool (*const print_func)(struct tcb *, + bool (*print_func)(struct tcb *, void *elem_buf, size_t elem_size, void *opaque_data), - void *const opaque_data); + void *opaque_data); #if defined ALPHA || defined IA64 || defined MIPS \ || defined SH || defined SPARC || defined SPARC64 diff --git a/util.c b/util.c index 69180e6f..482dafb2 100644 --- a/util.c +++ b/util.c @@ -1420,8 +1420,8 @@ umovestr(struct tcb *tcp, long addr, unsigned int len, char *laddr) * - umoven_func has not returned false. */ bool -print_array(struct tcb *tcp, - const unsigned long start_addr, +print_array(struct tcb *const tcp, + const kernel_ureg_t start_addr, const size_t nmemb, void *const elem_buf, const size_t elem_size, @@ -1446,17 +1446,17 @@ print_array(struct tcb *tcp, } const size_t size = nmemb * elem_size; - const unsigned long end_addr = start_addr + size; + const kernel_ureg_t end_addr = start_addr + size; if (end_addr <= start_addr || size / elem_size != nmemb) { printaddr(start_addr); return false; } - const unsigned long abbrev_end = + const kernel_ureg_t abbrev_end = (abbrev(tcp) && max_strlen < nmemb) ? start_addr + elem_size * max_strlen : end_addr; - unsigned long cur; + kernel_ureg_t cur; for (cur = start_addr; cur < end_addr; cur += elem_size) { if (cur != start_addr)