From patchwork Wed Oct 13 08:00:21 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hidetoshi Seto X-Patchwork-Id: 67668 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 5CD9EB6ED0 for ; Wed, 13 Oct 2010 22:44:05 +1100 (EST) Received: from localhost ([127.0.0.1]:47679 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P5zkX-0004j8-0t for incoming@patchwork.ozlabs.org; Wed, 13 Oct 2010 07:44:01 -0400 Received: from [140.186.70.92] (port=34251 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P5wI7-000686-E4 for qemu-devel@nongnu.org; Wed, 13 Oct 2010 04:02:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P5wGg-0005TU-99 for qemu-devel@nongnu.org; Wed, 13 Oct 2010 04:00:59 -0400 Received: from fgwmail6.fujitsu.co.jp ([192.51.44.36]:58706) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P5wGf-0005Sa-Ql for qemu-devel@nongnu.org; Wed, 13 Oct 2010 04:00:58 -0400 Received: from m5.gw.fujitsu.co.jp ([10.0.50.75]) by fgwmail6.fujitsu.co.jp (Fujitsu Gateway) with ESMTP id o9D80qGB031159 for (envelope-from seto.hidetoshi@jp.fujitsu.com); Wed, 13 Oct 2010 17:00:52 +0900 Received: from smail (m5 [127.0.0.1]) by outgoing.m5.gw.fujitsu.co.jp (Postfix) with ESMTP id DAD5845DE52 for ; Wed, 13 Oct 2010 17:00:51 +0900 (JST) Received: from s5.gw.fujitsu.co.jp (s5.gw.fujitsu.co.jp [10.0.50.95]) by m5.gw.fujitsu.co.jp (Postfix) with ESMTP id AE60C45DE51 for ; Wed, 13 Oct 2010 17:00:51 +0900 (JST) Received: from s5.gw.fujitsu.co.jp (localhost.localdomain [127.0.0.1]) by s5.gw.fujitsu.co.jp (Postfix) with ESMTP id 983731DB803C for ; Wed, 13 Oct 2010 17:00:51 +0900 (JST) Received: from m107.s.css.fujitsu.com (m107.s.css.fujitsu.com [10.249.87.107]) by s5.gw.fujitsu.co.jp (Postfix) with ESMTP id 48F321DB8038 for ; Wed, 13 Oct 2010 17:00:51 +0900 (JST) Received: from m107.css.fujitsu.com (m107 [127.0.0.1]) by m107.s.css.fujitsu.com (Postfix) with ESMTP id 12BAA670007; Wed, 13 Oct 2010 17:00:51 +0900 (JST) Received: from [127.0.0.1] (unknown [10.124.101.144]) by m107.s.css.fujitsu.com (Postfix) with ESMTP id 74B09680005; Wed, 13 Oct 2010 17:00:50 +0900 (JST) X-SecurityPolicyCheck-FJ: OK by FujitsuOutboundMailChecker v1.3.1 Received: from FMVDA2A041[10.124.101.144] by FMVDA2A041 (FujitsuOutboundMailChecker v1.3.1/9992[10.124.101.144]); Wed, 13 Oct 2010 17:00:43 +0900 (JST) Message-ID: <4CB56715.7080605@jp.fujitsu.com> Date: Wed, 13 Oct 2010 17:00:21 +0900 From: Hidetoshi Seto User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.9.2.9) Gecko/20100915 Thunderbird/3.1.4 MIME-Version: 1.0 To: "Hao, Xudong" Subject: Re: [Qemu-devel] qemu-kvm build issue on RHEL5.1 References: In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) Cc: "qemu-devel@nongnu.org" , "kvm@vger.kernel.org" , Avi Kivity X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org (Add CC to kvm@vger) (2010/10/12 10:52), Hao, Xudong wrote: > Hi, > Currently qemu-kvm build fail on RHEL5 with gcc 4.1.2, build can pass on Fedora11 with gcc 4.4.1, can anybody look on RHEL5 system? > > Gcc: 4.1.2 > system: RHEL5.1 > qemu-kvm: 85566812a4f8cae721fea0224e05a7e75c08c5dd > > ... > LINK qemu-img > LINK qemu-io > CC libhw64/virtio-9p-local.o > cc1: warnings being treated as errors > /home/source/qemu-kvm/hw/virtio-9p-local.c: In function 'local_utimensat': > /home/source/qemu-kvm/hw/virtio-9p-local.c:479: warning: implicit declaration of function 'utimensat' > /home/source/qemu-kvm/hw/virtio-9p-local.c:479: warning: nested extern declaration of 'utimensat' > make[1]: *** [virtio-9p-local.o] Error 1 > make: *** [subdir-libhw64] Error 2 > > > Best Regards, > Xudong Hao It seems that this issue is caused by the old glibc. Though I don't know well about virtio-9p and suppose there should be better fix, I confirmed that following change removed the warnings. Thanks, H.Seto ===== [PATCH] virtio-9p: fix build on !CONFIG_UTIMENSAT This removes following warnings on RHEL5, which has utimensat syscall but has old glibc that doesn't have support for it: hw/virtio-9p-local.c: In function 'local_utimensat': hw/virtio-9p-local.c:479: warning: implicit declaration of function 'utimensat' hw/virtio-9p-local.c:479: warning: nested extern declaration of 'utimensat' and hw/virtio-9p.c: In function 'v9fs_setattr_post_chmod': hw/virtio-9p.c:1410: error: 'UTIME_NOW' undeclared (first use in this function) hw/virtio-9p.c:1410: error: (Each undeclared identifier is reported only once hw/virtio-9p.c:1410: error: for each function it appears in.) hw/virtio-9p.c:1413: error: 'UTIME_OMIT' undeclared (first use in this function) hw/virtio-9p.c: In function 'v9fs_wstat_post_chmod': hw/virtio-9p.c:2905: error: 'UTIME_OMIT' undeclared (first use in this function) Signed-off-by: Hidetoshi Seto --- hw/virtio-9p-local.c | 8 ++++++++ hw/virtio-9p.c | 9 +++++++++ 2 files changed, 17 insertions(+), 0 deletions(-) diff --git a/hw/virtio-9p-local.c b/hw/virtio-9p-local.c index 57f9243..e075c27 100644 --- a/hw/virtio-9p-local.c +++ b/hw/virtio-9p-local.c @@ -18,6 +18,9 @@ #include #include #include +#ifndef CONFIG_UTIMENSAT +#include +#endif static const char *rpath(FsContext *ctx, const char *path) { @@ -476,7 +479,12 @@ static int local_chown(FsContext *fs_ctx, const char *path, FsCred *credp) static int local_utimensat(FsContext *s, const char *path, const struct timespec *buf) { +#ifndef CONFIG_UTIMENSAT + return syscall(SYS_utimensat, AT_FDCWD, rpath(s, path), buf, + AT_SYMLINK_NOFOLLOW); +#else return utimensat(AT_FDCWD, rpath(s, path), buf, AT_SYMLINK_NOFOLLOW); +#endif } static int local_remove(FsContext *ctx, const char *path) diff --git a/hw/virtio-9p.c b/hw/virtio-9p.c index 32fa3bc..efe5c51 100644 --- a/hw/virtio-9p.c +++ b/hw/virtio-9p.c @@ -1393,6 +1393,15 @@ out: qemu_free(vs); } +#ifndef CONFIG_UTIMENSAT +#ifndef UTIME_NOW +# define UTIME_NOW ((1l << 30) - 1l) +#endif +#ifndef UTIME_OMIT +# define UTIME_OMIT ((1l << 30) - 2l) +#endif +#endif + static void v9fs_setattr_post_chmod(V9fsState *s, V9fsSetattrState *vs, int err) { if (err == -1) {