From: Sebastian S. <Seb...@ge...> - 2012-02-17 12:10:37
|
Hi, On 02/16/2012 06:40 PM, Michael Grunditz wrote: > On 02/16/2012 06:08 PM, Norman Feske wrote: >> Hello again, >> >>> [init -> test-libc] C++ runtime: int >>> [init -> test-libc] void* abort(): abort called >>> >>> >>> I guess I get into c++ runtime, but what does "int" mean in this context ? >>> When I start test-libc in linux/genode I get : [init -> test-libc] >>> Starting ldso ... as the first output. >> it looks like the early exception-handling check in our startup code >> fails for you. Please see the comment at line 230 in '_main.cc': >> >> >> https://github.com/genodelabs/genode/blob/master/base/src/platform/_main.cc >> >> It is strange though, that this check does not trigger for normal >> statically-linked programs but only for 'ld.lib.so'. Maybe there is a >> subtle difference between the normal linker script and the one used for >> 'ld.lib.so'? > I have not changed them. The only system level thing I changed was the > core memory address. The system memory available starts at *0x90000000 > so core is above that. Could that mean that there is a unresolved memory > conflict* ? > > And yes static programs works. > This behavior could be caused by a couple of issues. Can you check if ' dl_unwind_find_exid' does return something meaningful in 'os/src/lib/ldso/arm/platform.c'? This function is used by the libgcc_eh code in the dynamic case only. Second, can you send me the output of 'objdump -R bin/libc.lib.so' and the same for 'bin/test-libc'. There could be some unsupported relocation types. What EABI version is this platform using? Greetings, Sebastian |