カスタムランタイム環境 - libpthread分割エラー

カスタムランタイム環境 - libpthread分割エラー

gcc 4.9.2(libstdc++.so.6.0.20)を使用してプロジェクトを構築しました。 gcc 4.6.3(libstdc++.so.6.0.16)がインストールされている仮想マシンでプログラムを実行するには、ビルドマシンと同じバージョンのlibstd ++ / libcを提供する必要があります。私は次のステップに従いました。

  • LD_LIBRARY_PATHのエクスポート(正しいカーネルバージョンとlibstdc ++を使用したカスタムglibcの構築)
  • 次のコマンドを実行します。 LD_DEBUG=libs LD_PRELOAD=/path_to_custom_glibc/ld-linux-x86-64.so.2 myApp

プログラムに通知する出力を取得します。init:/path_to_custom_glibc/libpthread.so.0 を呼び出します。

何が間違っている可能性がありますか?

編集1 コアダンプは分割エラーが発生した場所を表示しませんが、LD_DEBUG = allはLD_DEBUG = libsよりも正確な情報を返します。

Symbol = __libc_dl_error_tsd;
file=/path_to_custom_glibc/libc.so.6[0] から検索 3539: ファイル /path_to_custom_glibc/libpthread.so.0[0] を /path_to_custom_glibc/libc.so.6[0] にバインド: 一般記号 ` __libc_dl_error GLIBC_PRIVATE]分割エラー(コアダンプ)

ベストアンサー1

おすすめ記事