Hello, Christian, and thank you for answer!
Seems that problem a bit deeper - I need to use complex application written on 4 languages (C, C++, golang and asm), each with own static objects constructors.
Frankly speaking, seems that this bug was present even in 19.08/19.11 versions. I hit in in the very beginning of my attempt to solve application link problem. I found some solution which force proper order of initialisation (libc AFTER core initialisation). It was kind of «tribe dance with drum» around: some particular order of libraries works, some - not. I hit this first for seL4 kernel, and accidentally I found proper sequence. later I moved to Nova kernel, and again I need to make kind of «MonteCarlo experiments» to find proper sequence in link command line.
Today I want to make more clear implementation based on 20.05 using defaults from genode and again start the same «dance» (I can’t reproduce it exactly as it was in my old test because it requires intensive patching of mk files - this is what I want to get rid off). I don’t think that this is exactly 20.05 changes problem...
I want to find a real reason of problem with order of dynamic library initialisation and the way to explicitly control it.
any suggestions about how to force dynamic linker to take core-nova.o in my case as the first to be initialised? I am not that proficient in link scripting...
Sincerely, Alexander
6 июля 2020 г., в 09:22, Christian Helmuth christian.helmuth@genode-labs.com написал(а):
Hello Alexander,
it seems your component startup misses to initialize all modules correctly. While I have no idea where this stems from I have two options to proceed. First, I suggest a closer look into the changes in [1] that cleans up shared library initialization. The alternative is to use "git bisect" (maybe starting with [1]) to find the offending change in Genode 20.05.
As you have your own linker command sampled with an earlier release it only makes sense to test with your tree except you are able to isolate the issue with a minimal patch and without Go.
[1] https://github.com/chelmuth/genode/commit/42fddf8390c0436a09cf6fae3391f9a260...
Regards
Christian Helmuth Genode Labs
https://www.genode-labs.com/ · https://genode.org/ https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users