aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Machata <pmachata@redhat.com>2014-01-10 20:02:12 +0100
committerPetr Machata <pmachata@redhat.com>2014-01-10 20:02:12 +0100
commit79e64bcb176442b0eef89764d5ea7f07972dd240 (patch)
tree6f48d85c367e3fa4c2f0fa600f0c09ef70e5becf
parentb882ba7bd0840db234eb84c27665da4b3f4b42b8 (diff)
downloadltrace-79e64bcb176442b0eef89764d5ea7f07972dd240.tar.gz
Type umovebytes properly
-rw-r--r--backend.h3
-rw-r--r--sysdeps/linux-gnu/trace.c8
2 files changed, 6 insertions, 5 deletions
diff --git a/backend.h b/backend.h
index dc94d5f..e25daa0 100644
--- a/backend.h
+++ b/backend.h
@@ -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);