[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [XenARM] Linking errors of Mini-OS for ARM32
On Mon, 10 Jun 2013, Julien Grall wrote: > On 06/10/2013 01:13 AM, Chen Baozi wrote: > > > On Sun, Jun 09, 2013 at 02:48:42PM +0100, 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 > > > > Thanks a lot. > > > > A further question. I'm a litte curious that whether __aeabi_uldivmod is > > missing > > because of a toolchain bug or some other reasons? > > __aeabi_uldivmod and co. are provided by libgcc.{so,a}. Mini-OS is not > linked against this library. Actually the implementation of __aeabi_uldivmod in xen/arch/arm/arm32/lib/lib1funcs.S is GPLv2. You cannot use it in Mini-OS that is BSD licensed. You need to find a BSD implementation of that function. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |