WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] ioemu build failure with GCC > 4.3

To: <ian.jackson@xxxxxxxxxxxxx>
Subject: [Xen-devel] ioemu build failure with GCC > 4.3
From: "He, Qing" <qing.he@xxxxxxxxx>
Date: Thu, 10 Jul 2008 17:32:02 +0800
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 10 Jul 2008 02:32:29 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acjib877wCCzAHkJTmuRxJZVeQzpgg==
Thread-topic: ioemu build failure with GCC > 4.3
        I got build failure in the qemu-xen-unstable.git tree, and it
seems only to happen with newer GCC versions, namely >4.3.0 which
supports C99 inline.
        The offending part is in tools/ioemu-remote/slirp/misc.c:
138: inline void
139: insque (a, b)

C99 treats inline differently with GNU89, bare `inline' (without linkage
specifier, i.e. `static') in C99 is required not to generate standalone
copy of the function, which is not desired in slirp code. Other
compilation module looks for the function in linking and will not find
them.

Since `-std=gnu99' is specified in the global Config.mk, newer GCC
version uses C99 inline semantics will encounter problems on building
ioemu.

It's most straightforward to remove `inline' in slirp/misc.c, the code
doesn't really seem to benefit from it. But it looks pretty old and not
maintained for sometime. What about patch it locally?

Other options include specify `-fgnu89-inline' (n/a prior to GCC 4.1.3)
and overrides slirp compile line with `-std=gnu89', but may not be
preferred.

Thanks,
Qing

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel