[okl4-developer] Help regarding the OKL4 port to the Qemu Emulator

Gabi Voiculescu boy3dfx2 at yahoo.com
Fri Jul 3 20:07:23 EST 2009


Hello.

I am no expert, but I think this is a compiler issue. 
I have not tried to use androidsim (it's not publicly avaialble), so I can't give you direct advices (these might not fix your problem).

As I see the compiler used to build the kernel seems to be able to build it's part of the job. So the problem relies in the toolchain used to build iguana/oklinux/cells ("gnu_arm_eabi_toolchain").

As I recall, for arm platforms, the toolchain used to build the cells on top of the kernel is available on the okl4 website as binary. You may want to check it out. There is a possibility that the toolchain you built using crosstools is broken.

Also, what's surprising from the output, is that this toolchain is not building okl4's c library but trying to use the compiler's library.

You may have changed something in the build script  in tools/toolchains.py that your toolchain was not built for:
- the path for the toolchain specified in the declaration of  "gnu_arm_eabi_toolchain"
- argument set passed to the toolchain (maybe you imposed EABI version 0/ change the use of compiler's libgcc instead of okl4's libgcc).

To sum up I strongly sugest:
-  using the okl4 toolchain binary instead of the one you built using crosstools: http://wiki.ok-labs.com/downloads/release-3.0/arm-linux-gnueabi-4.2.4.tar.gz 
- recheck the parameter set in the gnu_arm_eabi_toolchain variable in tools/toolchains.py in your okl4 dir vs the original one (libgcc related) .

Gabi Voiculescu

--- On Fri, 7/3/09, Amrit Acharya <acharyaamrit at gmail.com> wrote:

From: Amrit Acharya <acharyaamrit at gmail.com>
Subject: [okl4-developer] Help regarding the OKL4 port to the Qemu Emulator
To: developer at okl4.org
Date: Friday, July 3, 2009, 9:26 AM

Hi, 

I have been facing certain problems while trying to build for the Qemu Emulator. 

I am passing : 

tools/build.py machine=androidsim project=examples example=hello PYFREEZE=False


 The error I am getting is this :

...
...
...
> [AR] 
build/pistachio/lib/libplatform.a
> 
[LIB] build/pistachio/lib/libplatform.a
> [AR] 
build/pistachio/lib/libatomic_ops.a
> [LIB] 
build/pistachio/lib/libplatform.a
> [LINK] 
build/pistachio/bin/l4lernel

> 
/opt/crosstool/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/4.2.4/libgcc.a(_dvmd_lnx.o): 

> In function 
`__div0':
 
/scratch/philipo/crosstool-0.43/src/gcc-4.2.4/gcc/config/arm/lib1funcs.asm:1000: 
undefined 
reference to `raise'

> 
/opt/crosstool/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/4.2.4/libgcc.a(_divdi3.o):(.ARM.exidx+0x0): 

> undefined reference to 
`__aeabi_unwind_cpp_pr0'

> 
/opt/crosstool/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/4.2.4/libgcc.a(_udivdi3.o):(.ARM.exidx+0x0): 

>undefined reference to `__aeabi_unwind_cpp_pr0'

> scons: *** [build/pistachio/bin/l4kernel] Error 
1
> scons: building terminated because of errors.

I am using the cross-compiler specified in the OK Labs wiki. Also, I came across another post in the developers forum where it was mentioned : "The kernel needs to be compiled with the old non EABI toolchain, while the rest of userland needs to be compiled with the EABI toolchain. To do that you state :


  TOOLCHAIN=gnu_arm_eabi_toolchain pistachio.TOOLCHAIN=gnu_arm_toolchain. "

I tried this also but I am still getting the same errors. Can I get any help on fixing this?

Regards,

Amrit Acharya





-----Inline Attachment Follows-----

_______________________________________________
Developer mailing list
Developer at okl4.org
https://lists.okl4.org/mailman/listinfo/developer



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.okl4.org/pipermail/developer/attachments/20090703/10504646/attachment.htm 


More information about the Developer mailing list