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

Re: [Xen-devel] [XenARM] Linking errors of Mini-OS for ARM32



On Sun, 9 Jun 2013, Tim Deegan wrote:
> At 14:48 +0100 on 09 Jun (1370789322), Julien Grall wrote:
> > On Sun, Jun 9, 2013 at 1:42 PM, Chen Baozi <baozich@xxxxxxxxx> wrote:
> > > Since finishing the very beginning setup assembly, I was turning to adding
> > > necessary headers and empty functions to build the binary. After 
> > > introducing
> > > those bit operations, spinlocks etc., I thought I have a basic framework 
> > > to
> > > pass the first build. However, when comming to the final linking stage,
> > > there are errors:
> > >
> > > arm-linux-gnueabihf-ld   -T arch/arm/minios-arm32.lds
> > > /home/cbz/src/xen/extras/mini-os/mini-os.o  -o
> > > //home/cbz/src/xen/extras/mini-os/mini-os
> > > /home/cbz/src/xen/extras/mini-os/mini-os.o: In function `init_blkfront':
> > > /home/cbz/src/xen/extras/mini-os/blkfront.c:122: undefined reference to 
> > > `__aeabi_uldivmod'
> > > /home/cbz/src/xen/extras/mini-os/blkfront.c:122: undefined reference to 
> > > `__aeabi_uldivmod'
> > > /home/cbz/src/xen/extras/mini-os/blkfront.c:122: undefined reference to 
> > > `__aeabi_uldivmod'
> > > /home/cbz/src/xen/extras/mini-os/blkfront.c:122: undefined reference to 
> > > `__aeabi_uldivmod'
> > > /home/cbz/src/xen/extras/mini-os/blkfront.c:122: undefined reference to 
> > > `__aeabi_uldivmod'
> > > /home/cbz/src/xen/extras/mini-os/mini-os.o:/home/cbz/src/xen/extras/mini-os/blkfront.c:122:
> > >  more undefined references to `__aeabi_uldivmod' follow
> > > /home/cbz/src/xen/extras/mini-os/mini-os.o:(.ARM.exidx+0x0): undefined 
> > > reference to `__aeabi_unwind_cpp_pr0'
> > > /home/cbz/src/xen/extras/mini-os/mini-os.o:(.ARM.exidx+0x50): undefined 
> > > reference to `__aeabi_unwind_cpp_pr0'
> > > make: *** [/home/cbz/src/xen/extras/mini-os/mini-os] Error 1
> > >
> > > I googled that error message. Some has mentioned that add "-fno-exceptions
> > >  -fno-unwind tables" could sovle the problem. I tried, but got the same
> > > errors.
> > >
> > > Any ideas?
> > 
> > You need to provide an implementation for __aeabi_uldivmod.
> > For this purpose, you can re-use xen/arch/arm/arm32/lib/lib1func.S
> 
> Please be careful of licensing if you take Xen code into MiniOS.

That's right, in fact Xen code is GPLv2 while MiniOS is BSD. So you need
to find a BSD licensed implementation of __aeabi_uldivmod. Maybe NetBSD?

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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