Mit statischem TLS kann kein Objekt mehr geladen werden

Ich habe eine Anwendung, die verwendet wirddlopen() zusätzliche Module laden. Die Anwendung und die Module basieren auf Ubuntu 12.04 x86_64 unter Verwendung von gcc 4.6, jedoch für i386 arch. Die Binärdateien werden dann auf einen anderen Computer mit genau demselben Betriebssystem kopiert und funktionieren einwandfrei.

Wenn sie jedoch auf Ubuntu 12.04 i386 kopiert werden, können einige (aber nicht alle) Module nicht mit der folgenden Meldung geladen werden:

dlopen: cannot load any more object with static TLS

Ich würde vermuten, dass dies durch die Verwendung von verursacht wird__thread Variablen. Solche Variablen werden jedoch nicht in den geladenen Modulen verwendet - nur im Lademodul selbst.

Kann jemand zusätzliche Infos geben, woran kann das liegen?

Ich reduziere die Anzahl von__thread Variablen und deren Optimierung (mit-ftls-model etc), ich bin nur neugierig, warum es nicht funktioniertfast gleiches System.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage