[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [6412] linux-user: add qemu_realloc() implementation to
From: |
Laurent Desnogues |
Subject: |
Re: [Qemu-devel] [6412] linux-user: add qemu_realloc() implementation to unbreak the build ( Gerd Hoffman) |
Date: |
Fri, 23 Jan 2009 18:15:37 +0100 |
On Fri, Jan 23, 2009 at 5:35 PM, Anthony Liguori <address@hidden> wrote:
> Laurent Desnogues wrote:
>>
>> On Fri, Jan 23, 2009 at 4:02 PM, Anthony Liguori <address@hidden>
>> wrote:
>>
>>>
>>> Revision: 6412
>>> http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6412
>>> Author: aliguori
>>> Date: 2009-01-23 15:02:20 +0000 (Fri, 23 Jan 2009)
>>>
>>> Log Message:
>>> -----------
>>> linux-user: add qemu_realloc() implementation to unbreak the build (Gerd
>>> Hoffman)
>>>
>>> Signed-off-by: Gerd Hoffmann <address@hidden>
>>> Signed-off-by: Anthony Liguori <address@hidden>
>>>
>>> Modified Paths:
>>> --------------
>>> trunk/linux-user/mmap.c
>>>
>>> Modified: trunk/linux-user/mmap.c
>>> ===================================================================
>>> --- trunk/linux-user/mmap.c 2009-01-22 22:09:55 UTC (rev 6411)
>>> +++ trunk/linux-user/mmap.c 2009-01-23 15:02:20 UTC (rev 6412)
>>> @@ -123,6 +123,19 @@
>>> 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;
>>> +}
>>>
>>
>> Is it really the correct fix? The original error comes from the fact
>> we compile qemu_iovec_* in cutils.c. Do we really need these
>> iovec functions for user-mode?
>>
>
> I think the better question is, why isn't linux-user sharing
> qemu_malloc/qemu_realloc implementations with the system emulation?
Well that's just *another* question and both yours and mine are
valid, I guess :-) OTOH one is easier to answer.
Laurent