AIX 5.3 でコンパイルされた実行可能ライブラリまたは共有ライブラリの objdump を実行しようとすると、このエラー メッセージが何度も表示されます。このマシン上の他の実行可能ファイルについては、正常に動作します。この実行可能ファイルは、実行時 (文字列の割り当て時) にもクラッシュします。
問題があるかどうかはわかりませんが、リンク中に次のような警告がいくつか表示されます: ld: 0711-224 WARNING: Duplicate symbol: non-virtual thunk to XYZ::~XYZ() (および1つの外部ライブラリですが、問題ないと確信しています)。
弱いシンボルに接続できると何かが教えてくれますが、その問題を解決する方法がわかりません。何が間違っているのか、これを続行するために確認できることはありますか?
また、すべての cpp ファイルを 1 つの大きなファイルに含めて、これをコンパイルしようとしました。まだセグメンテーション違反が発生しますが、別の場所で発生します (現在は g_strXXXXX.erase() - グローバル文字列の消去)。スタック トレースの一部は次のようになります。
(...)
.#3 0x101d8534 in __static_initialization_and_destruction_0(int, int) (__initialize_p=1, __priority=65535) at ../../licserver/someclass1.cpp:4
.#4 0x101d8df0 in GLOBAL _I_fc_softc () at ../../shared/someclass1.cpp:225
.#5 0x103c81fc in GLOBAL _FI_licserver_unittest ()
.#6 0xd03aadb0 in mod_init1 () from /usr/lib/libc.a(shr.o)
.#7 0xd03aacc4 in __modinit () from /usr/lib/libc.a(shr.o)
.#8 0x100001d4 in __start () (gdb) GLOBAL _I_fc_softc
libc または libstdc++ に問題があるように見えますか?