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

Re: [XenARM] How to compile the unstable source for arm at sstabellini/xen-unstable.git/.git



On Tue, 2012-02-14 at 13:12 +0000, Jenny Smith wrote:
> On Tue, Feb 14, 2012 at 1:04 PM, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
> > Please can you not top-post. It is very disruptive to the flow of the
> > conversation.
> >
> > On Tue, 2012-02-14 at 12:44 +0000, Jenny Smith wrote:
> >> For me the only way to get it working was to explicitly add
> >> -fno-exceptions to the arm Rules.mk and then compiling and running Xen
> >> worked.
> >>
> >> diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
> >> index 336e209..77250e5 100644
> >> --- a/xen/arch/arm/Rules.mk
> >> +++ b/xen/arch/arm/Rules.mk
> >> @@ -12,6 +12,7 @@ CFLAGS += -I$(BASEDIR)/include
> >>
> >>  # Prevent floating-point variables from creeping into Xen.
> >>  CFLAGS += -msoft-float
> >> +CFLAGS += -fno-exceptions -fno-unwind-tables
> >
> > This is very strange. Xen does not use this for other architectures and
> > neither does Linux, including on arm.
> >
> > Which compiler is this with?
> 
> arm-none-linux-gnueabi-gcc --version
> arm-none-linux-gnueabi-gcc (Sourcery CodeBench Lite 2011.09-70) 4.6.1
> Copyright (C) 2011 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> 
> 
> > My gcc manpage says this will only be enabled by frontends which need it
> > (such as C++) and explicitly calls out the C frontend as not doing this.
> > Is there anything in your environment which might cause this (e.g. do
> > you have a global $CFLAGS set?)
> 
> I'm not sure. Definitely not explicitly.
> 
> 
> > Are both -fno-excepitons and -fno-unwind-tables required or is one or
> > the other sufficient by itself?
> 
> Actually just -fno-unwind-tables is sufficient. -fno-excepitons
> doesn't seem to do anything.

Linux contains arch/arm/kernel/unwind.c with stuff like:
        /* Dummy functions to avoid linker complaints */
        void __aeabi_unwind_cpp_pr0(void)
        {
        };
        EXPORT_SYMBOL(__aeabi_unwind_cpp_pr0);
        
        void __aeabi_unwind_cpp_pr1(void)
        {
        };
        EXPORT_SYMBOL(__aeabi_unwind_cpp_pr1);
        
        void __aeabi_unwind_cpp_pr2(void)
        {
        };
        EXPORT_SYMBOL(__aeabi_unwind_cpp_pr2);

I think -fno-unwind-tables is probably the right answer for us until
such a time as we have an in-hypervisor unwinder.

Please could you submit per
http://wiki.xen.org/wiki/SubmittingXenPatches

Thanks,
Ian.
> 
> Jenny



_______________________________________________
Xen-arm mailing list
Xen-arm@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-arm


 


Rackspace

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