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

Re: [Xen-devel] gcc 4.5 compile fixes for xen-4.0.1-rc4 for Fedora 14

To: M A Young <m.a.young@xxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] gcc 4.5 compile fixes for xen-4.0.1-rc4 for Fedora 14
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Sun, 25 Jul 2010 22:25:32 +0100
Cc: Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>
Delivery-date: Sun, 25 Jul 2010 14:26:31 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <alpine.LFD.2.00.1007251942240.21619@xxxxxxxxxxxxxxx>
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: AcssLqoco1bhbG4lRT+ab+Ekc6SPoQAET9By
Thread-topic: [Xen-devel] gcc 4.5 compile fixes for xen-4.0.1-rc4 for Fedora 14
User-agent: Microsoft-Entourage/12.24.0.100205
On 25/07/2010 20:20, "M A Young" <m.a.young@xxxxxxxxxxxx> wrote:

> --- xen-4.0.1/xen/Rules.mk.orig 2010-05-22 14:39:11.000000000 +0100
> +++ xen-4.0.1/xen/Rules.mk 2010-07-24 14:14:01.000000000 +0100
> @@ -71,6 +71,7 @@
>   DEPS = .*.d
> 
>   CFLAGS += $(CFLAGS-y)
> +CFLAGS += -fno-exceptions
> 
>   # Most CFLAGS are safe for assembly files:
>   #  -std=gnu{89,99} gets confused by #-prefixed end-of-line comments

I checked in a more extensive variant of this as xen-unstable:21860 and
xen-4.0-testing:21287. I guess it's a good extra flag to have.

For the rest of your patches, they need to be reviewed and applied by
Stefano (cc'ed). He might not like blanket turning on of -Wno-uninitialized
for example. They will come into xen-unstable via the xen-unstable-tools.hg
tree, and from there be nominated (by Stefano) for backport to 4.0 branch.

 Thanks,
 Keir

> ------
> Build of xen-4.0.1/stubdom/mini-os-x86_64-ioemu/netfront.o fails with the
> errors
> netfront.c:41:32: error: variably modified 'tx_freelist' at file scope
> netfront.c:44:34: error: variably modified 'rx_buffers' at file scope
> netfront.c:45:34: error: variably modified 'tx_buffers' at file scope
> so use __CONST_RING_SIZE instead of __RING_SIZE
> The patch is based on
> http://xenbits.xen.org/linux-2.6.18-xen.hg?rev/efae51e0fa91
> --- xen-4.0.1/extras/mini-os/netfront.c.orig 2010-05-22 14:39:10.000000000
> +0100
> +++ xen-4.0.1/extras/mini-os/netfront.c 2010-07-24 21:54:55.000000000 +0100
> @@ -25,8 +25,8 @@
> 
> 
> 
> -#define NET_TX_RING_SIZE __RING_SIZE((struct netif_tx_sring *)0, PAGE_SIZE)
> -#define NET_RX_RING_SIZE __RING_SIZE((struct netif_rx_sring *)0, PAGE_SIZE)
> +#define NET_TX_RING_SIZE __CONST_RING_SIZE(netif_tx, PAGE_SIZE)
> +#define NET_RX_RING_SIZE __CONST_RING_SIZE(netif_rx, PAGE_SIZE)
>   #define GRANT_INVALID_REF 0
> 
> 
> 
> ------
> xen-4.0.1/extras/mini-os/lib/math.c generates the warning
> lib/math.c: In function '__qdivrem':
> lib/math.c:196:9: error: 'tmp.ul[1]' may be used uninitialized in this
> function
> under gcc 4.5 though this looks incorrect so turn off the warning
> --- xen-4.0.1/extras/mini-os/minios.mk.orig 2010-02-02 20:43:00.000000000
> +0000
> +++ xen-4.0.1/extras/mini-os/minios.mk 2010-07-24 22:56:27.000000000 +0100
> @@ -10,6 +10,7 @@
>   DEF_CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
>   DEF_CFLAGS += $(call cc-option,$(CC),-fgnu89-inline)
>   DEF_CFLAGS += -Wstrict-prototypes -Wnested-externs -Wpointer-arith -Winline
> +DEF_CFLAGS += -Wno-uninitialized
>   DEF_CPPFLAGS += -D__XEN_INTERFACE_VERSION__=$(XEN_INTERFACE_VERSION)
> 
>   DEF_ASFLAGS += -D__ASSEMBLY__
> 
> -------
> building xen-4.0.1/stubdom/mini-os-x86_64-ioemu/arch/x86/mm.o gives the
> warning
> mm.c: In function 'set_readonly':
> mm.c:321:46: error: taking address of expression of type 'void'
> so make the definition of shared_info consistent with the definition in
> setup.c which doesn't
> --- xen-4.0.1/extras/mini-os/arch/x86/mm.c.orig 2010-02-02 20:43:00.000000000
> +0000
> +++ xen-4.0.1/extras/mini-os/arch/x86/mm.c 2010-07-25 09:29:49.000000000 +0100
> @@ -281,7 +281,7 @@
>   /*
>    * Mark portion of the address space read only.
>    */
> -extern void shared_info;
> +extern char shared_info[PAGE_SIZE];
>   static void set_readonly(void *text, void *etext)
>   {
>       unsigned long start_address =
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel



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

<Prev in Thread] Current Thread [Next in Thread>