linux-user: add qemu_realloc() implementation to unbreak the build (Gerd Hoffman)
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 23 Jan 2009 15:02:20 +0000 (15:02 +0000)
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 23 Jan 2009 15:02:20 +0000 (15:02 +0000)
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6412 c046a42c-6fe2-441c-8c8c-71466251a162

linux-user/mmap.c

index 8e81cde..d0fc3e3 100644 (file)
@@ -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)
 {