aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux-user/mmap.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index 8e81cdec74..d0fc3e3d1a 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
@@ -123,6 +123,19 @@ void qemu_free(void *ptr)
munmap(p, *p);
}
+void *qemu_realloc(void *ptr, size_t size)
+{
+ size_t old_size, copy;
+ void *new_ptr;
+
+ old_size = *(size_t *)((char *)ptr - 16);
+ copy = old_size < size ? old_size : size;
+ new_ptr = qemu_malloc(size);
+ memcpy(new_ptr, ptr, copy);
+ qemu_free(ptr);
+ return new_ptr;
+}
+
/* NOTE: all the constants are the HOST ones, but addresses are target. */
int target_mprotect(abi_ulong start, abi_ulong len, int prot)
{