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