]> granicus.if.org Git - strace/commitdiff
printnum_*, printpair_*: change address argument type from long to kernel_ureg_t
authorDmitry V. Levin <ldv@altlinux.org>
Tue, 20 Dec 2016 22:33:52 +0000 (22:33 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Sun, 25 Dec 2016 11:32:43 +0000 (11:32 +0000)
* defs.h (DECL_PRINTNUM, DECL_PRINTPAIR, printnum_long_int): Change
address argument type from long to kernel_ureg_t.
* util.c (DEF_PRINTNUM, DEF_PRINTPAIR, printnum_long_int): Likewise.

defs.h
util.c

diff --git a/defs.h b/defs.h
index 8c4165cafbf609eeedcc7de576e1d83cfddea320..0412ed4c354dbb3c98e316ba60045cd0ffedb473 100644 (file)
--- a/defs.h
+++ b/defs.h
@@ -610,7 +610,7 @@ printstr_ex(struct tcb *, kernel_ureg_t addr, long len,
 
 #define DECL_PRINTNUM(name)                                            \
 extern bool                                                            \
-printnum_ ## name(struct tcb *, long addr, const char *fmt)            \
+printnum_ ## name(struct tcb *, kernel_ureg_t addr, const char *fmt)   \
        ATTRIBUTE_FORMAT((printf, 3, 0))
 DECL_PRINTNUM(short);
 DECL_PRINTNUM(int);
@@ -618,7 +618,9 @@ DECL_PRINTNUM(int64);
 #undef DECL_PRINTNUM
 
 #if SUPPORTED_PERSONALITIES > 1 && SIZEOF_LONG > 4
-extern bool printnum_long_int(struct tcb *, long, const char *, const char *)
+extern bool
+printnum_long_int(struct tcb *, kernel_ureg_t addr,
+                 const char *fmt_long, const char *fmt_int)
        ATTRIBUTE_FORMAT((printf, 3, 0))
        ATTRIBUTE_FORMAT((printf, 4, 0));
 # define printnum_slong(tcp, addr) \
@@ -645,7 +647,7 @@ extern bool printnum_long_int(struct tcb *, long, const char *, const char *)
 
 #define DECL_PRINTPAIR(name)                                           \
 extern bool                                                            \
-printpair_ ## name(struct tcb *, long addr, const char *fmt)           \
+printpair_ ## name(struct tcb *, kernel_ureg_t addr, const char *fmt)  \
        ATTRIBUTE_FORMAT((printf, 3, 0))
 DECL_PRINTPAIR(int);
 DECL_PRINTPAIR(int64);
diff --git a/util.c b/util.c
index 71bb6509c766bfd12ac668f2ccf1cb36e3fb6203..245ffca3e65152793978e60af92f931812c8aca0 100644 (file)
--- a/util.c
+++ b/util.c
@@ -472,7 +472,8 @@ printaddr_klu(const kernel_ulong_t addr)
 
 #define DEF_PRINTNUM(name, type) \
 bool                                                                   \
-printnum_ ## name(struct tcb *tcp, const long addr, const char *fmt)   \
+printnum_ ## name(struct tcb *const tcp, const kernel_ureg_t addr,     \
+                 const char *const fmt)                                \
 {                                                                      \
        type num;                                                       \
        if (umove_or_printaddr(tcp, addr, &num))                        \
@@ -485,7 +486,8 @@ printnum_ ## name(struct tcb *tcp, const long addr, const char *fmt)        \
 
 #define DEF_PRINTPAIR(name, type) \
 bool                                                                   \
-printpair_ ## name(struct tcb *tcp, const long addr, const char *fmt)  \
+printpair_ ## name(struct tcb *const tcp, const kernel_ureg_t addr,    \
+                  const char *const fmt)                               \
 {                                                                      \
        type pair[2];                                                   \
        if (umove_or_printaddr(tcp, addr, &pair))                       \
@@ -506,8 +508,8 @@ DEF_PRINTPAIR(int64, uint64_t)
 
 #if SUPPORTED_PERSONALITIES > 1 && SIZEOF_LONG > 4
 bool
-printnum_long_int(struct tcb *tcp, const long addr,
-                 const char *fmt_long, const char *fmt_int)
+printnum_long_int(struct tcb *const tcp, const kernel_ureg_t addr,
+                 const char *const fmt_long, const char *const fmt_int)
 {
        if (current_wordsize > sizeof(int)) {
                return printnum_int64(tcp, addr, fmt_long);