From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MEOwf-0006X9-Cg for qemu-devel@nongnu.org; Wed, 10 Jun 2009 10:38:29 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MEOwe-0006VS-IU for qemu-devel@nongnu.org; Wed, 10 Jun 2009 10:38:28 -0400 Received: from [199.232.76.173] (port=53784 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MEOwe-0006Uz-7z for qemu-devel@nongnu.org; Wed, 10 Jun 2009 10:38:28 -0400 Received: from lechat.rtp-net.org ([88.191.19.38]:54296) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MEOwd-0006T7-O8 for qemu-devel@nongnu.org; Wed, 10 Jun 2009 10:38:28 -0400 From: Arnaud Patard (Rtp) Subject: Re: [Qemu-devel] [PATCH 2/2] check for utimensat() availability on configure 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> Date: Wed, 10 Jun 2009 16:39:25 +0200 In-Reply-To: <20090610141255.GZ18045@blackpad> (Eduardo Habkost's message of "Wed\, 10 Jun 2009 11\:12\:55 -0300") Message-ID: <87bpownof6.fsf@lechat.rtp-net.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Glauber Costa , qemu-devel@nongnu.org Eduardo Habkost writes: Hi, > On Wed, Jun 10, 2009 at 12:06:27AM +0200, Arnaud Patard wrote: >> Eduardo Habkost writes: >> >> Hi Eduardo, >> >> > Some glibc versions don't have utimensat() available, but have other xxxat() >> > functions. Make a separated check for utimensat() to make sure we can compile >> > linux-user against some older glibc versions. >> >> Why didn't you take the patches available in this thread >> http://lists.gnu.org/archive/html/qemu-devel/2009-04/msg01290.html ? > > Because it is not included on the qemu tree. > >> >> 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 :) > >> >> [...] >> >> > +#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. > 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. Arnaud