I found a new issue in lld (https://llvm.org/bugs/show_bug.cgi?id=26222),
but after review of outputs internals still have no idea why that can happen. Do you have any thoughts about possible reasons of that ?
I am going to continue investigating that tomorrow.
I think it is because the main executable do not export symbols that exist both in the main executable and in DSOs. If a symbol in an object file overrides a symbol in an DSO, we want to call setUsedInDynamicReloc() on that symbol so that the symbol is exported.
That works, thanks !
I`ll submit the patch later today (have to prepare test(s)).