Hello Josef,
My bad - the first commit from yesterday is incomplete. Merely making the symbols available for linking is not enough. Since the implementation is global hidden we have to make it also accessible. Please also apply the following commit [1].
[1] https://github.com/cnuke/genode/commit/3eb8312daee2ae24f7eea43adf7697dbfd0c9...
good, now it work as expected. Now I need to cleanup the codepath related to self-open of executable file for SMP version to run:
[init] child "timer" announces service "Timer" [init -> test-go] 0x40000000 .. 0x4fffffff: stack area [init -> test-go] 0x30000 .. 0x161fff: ld.lib.so [init -> test-go] 0x10e0c000 .. 0x10ffffff: libc.lib.so [init -> test-go] 0x10d70000 .. 0x10e0bfff: vfs.lib.so [init -> test-go] 0x10d36000 .. 0x10d6ffff: libm.lib.so [init -> test-go] 0x1328000 .. 0x14dffff: stdcxx.lib.so [init -> test-go] fd(2): fatal error: libbacktrace could not find executable to open [init -> test-go] fd(2): [init -> test-go] fd(2): goroutine 1 [running, locked to thread]: [init -> test-go] fd(2): fatal error: libbacktrace could not find executable to open [init -> test-go] fd(2): panic during panic [init -> test-go] fd(2): [init -> test-go] fd(2): goroutine 1 [running, locked to thread]: [init -> test-go] fd(2): fatal error: libbacktrace could not find executable to open [init -> test-go] fd(2): stack trace unavailable [init] child "test-go" exited with exit value 4
I plan (as Uwe suggested) to dup2() rom session for executable file and provide it to the stack unwind code - while it is not so clear for me what is a way to «cast» rom session object to the posix (libc) file handle, need to find an example in the genode code base.
it you have some suggestions - will be happy to follow
Sincerely, Alexander