From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LQPd9-00042B-8c for qemu-devel@nongnu.org; Fri, 23 Jan 2009 12:15:43 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LQPd6-00040J-J8 for qemu-devel@nongnu.org; Fri, 23 Jan 2009 12:15:41 -0500 Received: from [199.232.76.173] (port=34184 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LQPd6-00040E-DV for qemu-devel@nongnu.org; Fri, 23 Jan 2009 12:15:40 -0500 Received: from mail-ew0-f21.google.com ([209.85.219.21]:58469) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LQPd4-0006d8-Tx for qemu-devel@nongnu.org; Fri, 23 Jan 2009 12:15:39 -0500 Received: by ewy14 with SMTP id 14so4442081ewy.10 for ; Fri, 23 Jan 2009 09:15:37 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <4979F1E3.2050701@codemonkey.ws> References: <761ea48b0901230738j451cd69bqcf4d394950a99b52@mail.gmail.com> <4979F1E3.2050701@codemonkey.ws> Date: Fri, 23 Jan 2009 18:15:37 +0100 Message-ID: <761ea48b0901230915k7ffd9e49g5c599f3bc1abee04@mail.gmail.com> Subject: Re: [Qemu-devel] [6412] linux-user: add qemu_realloc() implementation to unbreak the build ( Gerd Hoffman) From: Laurent Desnogues Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On Fri, Jan 23, 2009 at 5:35 PM, Anthony Liguori wrote: > Laurent Desnogues wrote: >> >> On Fri, Jan 23, 2009 at 4:02 PM, Anthony Liguori >> 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 >>> Signed-off-by: Anthony Liguori >>> >>> 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