__dso_handle symbol wird immer nur lokal gelinkt
-
Moin,
implementiere gerade meine eigene libc, bin jetzt auf ein Problem gestoßen.
wenn ich das symbol __dso_handle so deklariere:
extern "C" { extern void *__dso_handle __attribute__((__visibility__("hidden"))) = &__dso_handle; };
zeigt mir readelf folgendes an:
readelf -a src/libc.so.1.0.0 | grep dso 224: 000000000001f580 8 OBJECT LOCAL DEFAULT 20 __dso_handle
bauen lässt sich so das Project auch mit den Testunits. Kann aber andere SHARED Libraries nicht gegen linken.
Was ich nicht verstehe warum es auf "LOCAL" gesetzt ist obwohl ich "extern" davor geschrieben habe müsste dort nicht WEAK dann stehen.Als Compiler setzte ich Clang ein und der Code ist in C++ geschrieben.
https://tuxist.de/git/jan.koester/systempp
Hat jemand eine idee wie sich das Problem lösen lässt ?
-
habe das nostdlib entfernt schon ging es