[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] 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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.