diff options
author | Petr Machata <pmachata@redhat.com> | 2014-01-10 20:02:12 +0100 |
---|---|---|
committer | Petr Machata <pmachata@redhat.com> | 2014-01-10 20:02:12 +0100 |
commit | 79e64bcb176442b0eef89764d5ea7f07972dd240 (patch) | |
tree | 6f48d85c367e3fa4c2f0fa600f0c09ef70e5becf | |
parent | b882ba7bd0840db234eb84c27665da4b3f4b42b8 (diff) | |
download | ltrace-79e64bcb176442b0eef89764d5ea7f07972dd240.tar.gz |
Type umovebytes properly
-rw-r--r-- | backend.h | 3 | ||||
-rw-r--r-- | sysdeps/linux-gnu/trace.c | 8 |
2 files changed, 6 insertions, 5 deletions
@@ -171,7 +171,8 @@ void os_ltrace_exiting(void); /* Should copy COUNT bytes from address ADDR of process PROC to local * buffer BUF. */ -size_t umovebytes(struct process *proc, void *addr, void *buf, size_t count); +size_t umovebytes(struct process *proc, arch_addr_t addr, + void *buf, size_t count); /* Find out an address of symbol SYM in process PROC, and return. * Returning NULL delays breakpoint insertion and enables heaps of diff --git a/sysdeps/linux-gnu/trace.c b/sysdeps/linux-gnu/trace.c index 0abb545..3fa2039 100644 --- a/sysdeps/linux-gnu/trace.c +++ b/sysdeps/linux-gnu/trace.c @@ -1,6 +1,6 @@ /* * This file is part of ltrace. - * Copyright (C) 2007,2011,2012,2013 Petr Machata, Red Hat Inc. + * Copyright (C) 2007,2011,2012,2013,2014 Petr Machata, Red Hat Inc. * Copyright (C) 2010 Joe Damato * Copyright (C) 1998,2002,2003,2004,2008,2009 Juan Cespedes * Copyright (C) 2006 Ian Wienand @@ -1194,7 +1194,7 @@ os_ltrace_exiting_sighandler(void) } size_t -umovebytes(struct process *proc, void *addr, void *laddr, size_t len) +umovebytes(struct process *proc, arch_addr_t addr, void *buf, size_t len) { union { @@ -1215,11 +1215,11 @@ umovebytes(struct process *proc, void *addr, void *laddr, size_t len) started = 1; if (len - offset >= sizeof(long)) { - memcpy(laddr + offset, &a.c[0], sizeof(long)); + memcpy(buf + offset, &a.c[0], sizeof(long)); bytes_read += sizeof(long); } else { - memcpy(laddr + offset, &a.c[0], len - offset); + memcpy(buf + offset, &a.c[0], len - offset); bytes_read += (len - offset); } offset += sizeof(long); |