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
> <[email protected]> написал(а):
>
> 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/42fddf8390c0436a09cf6fae3391f9a26098e4de
>
> 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
> [email protected]
> https://lists.genode.org/listinfo/users
_______________________________________________
Genode users mailing list
[email protected]
https://lists.genode.org/listinfo/users