From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1METCH-0001XV-Dw for qemu-devel@nongnu.org; Wed, 10 Jun 2009 15:10:53 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1METCC-0001WN-Mr for qemu-devel@nongnu.org; Wed, 10 Jun 2009 15:10:53 -0400 Received: from [199.232.76.173] (port=35023 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1METCC-0001WK-Fe for qemu-devel@nongnu.org; Wed, 10 Jun 2009 15:10:48 -0400 Received: from mx2.redhat.com ([66.187.237.31]:52392) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1METCB-0003JQ-TE for qemu-devel@nongnu.org; Wed, 10 Jun 2009 15:10:48 -0400 Content-Type: text/plain; charset=ISO-8859-1 Subject: Re: [Qemu-devel] [PATCH 2/2] check for utimensat() availability on configure From: Eduardo Habkost References: <1244582792-30589-1-git-send-email-ehabkost@redhat.com> <1244582792-30589-3-git-send-email-ehabkost@redhat.com> <87ocsxoye4.fsf@lechat.rtp-net.org> <20090610141255.GZ18045@blackpad> <87bpownof6.fsf@lechat.rtp-net.org> In-Reply-To: <87bpownof6.fsf@lechat.rtp-net.org> Date: Wed, 10 Jun 2009 16:10:33 -0300 Message-Id: <1244659259-sup-8660@blackpad> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Arnaud Patard (Rtp)" Cc: Glauber Costa , qemu-devel Excerpts from Arnaud Patard (Rtp)'s message of Wed Jun 10 11:39:25 -0300 2009: > Eduardo Habkost writes: > >> > >> afaik, they can also be found in maemo's qemu git tree (and sent again > >> later to the mailing list) > > > > Why is it not included, if it is a better fix? > > I don't have the reason, only guesses. It looks like linux-user is > getting a lot less attention than full system emulation, which makes > patches living in the mailing list waiting for someone to merge them. I > hope I'm wrong on that and that such fixes will be committed soon :) I hope so. :) > > > > >> > >> [...] > >> > >> > +#ifdef CONFIG_UTIMENSAT > >> > + > >> > +#ifdef TARGET_NR_utimensat > >> > +static int sys_utimensat(int dirfd, const char *pathname, > >> > + const struct timespec times[2], int flags) > >> > +{ > >> > + return (utimensat(dirfd, pathname, times, flags)); > >> > +} > >> > >> As you'll see when reading the thread I mentionned, this is broken. > > > > I don't see why it is broken, unless current qemu code is broken > > too. I > > current qemu code is broken too. Now this makes sense. > > > just changed it to use the !CONFIG_ATFILE sys_utimensat() implementation > > (that was already present on the code) if glibc doesn't provide > > utimensat(). What do you suggest instead? > > glibc utimensat is not exactly the syscall, a test on some parameters > has been added. There's code to handle this in the patch I was talking > about. Understood. However, my patch addresses a different issue, that is the case where the host system doesn't have utimensat() available. The point here is to disable the code that uses utimensat() (be it broken or not) on that case. And the first patch is unrelated to that question: it is just a correctness issue to make sure the xxxat() availability matches the situation detected by ./configure (whose test code has #define _ATFILE_SOURCE). -- Eduardo