Having some issues with symbol visibility. I don't know, if there is a bug in there, but code seems to need -fvisibility=hidden, which seems odd.
Q: What does 'Ndx' in readelf output stand for, and why does the runtime linker deliberately choose the first instance (the upper line) of the symbol over the second, when it should in a perfect world choose the lower?
Num: Value Size Type Bind Vis Ndx Name
686: 00000000 0 OBJECT GLOBAL DEFAULT UND _ZN10QArrayData11shared_nullE
53: 00000004 32 OBJECT GLOBAL DEFAULT 23 _ZN10QArrayData11shared_nullE
(NB: They are from two different objects; an executable and a shared object.)