libc/NPTLの修正版をビルドしようとしています。私のubuntuバージョンはバージョン2.13であることを示しています。別のlibc/nptl/libpthreadsを作成し、既存のglibc/libpthreadsを置き換えずに動的ローディングを使用して既存のアプリケーション(Apacheなど)に使用したいと考えています。私はカーネルプログラミングと動的ロードのほうが新しいです。動的ロード機能を使用してlibc/NPTLを使用する方法の例を提供できますか?ubuntu x86_64アーキテクチャのソースからglibc-2.13をコンパイルして使用する
0
A
答えて
3
は、私は簡単だ、別のlibc/NPTL/libpthreadsを
を作成します:./configure --prefix=/u && make && make install
。おめでとう、あなたが今/u
の下に別の
libc/lipthreads
を持っており、(Apacheのような)既存のアプリケーションのためにそれを使用したい
は、それは(既存と新規libc
を使用するかどうかを非常に明確ではありませんビルドされた)バイナリ、または再構築可能なバイナリです。
後者の場合は、単に-Wl,--dynamic-linker=/u/lib64/ld-linux-x86-64.so.2
(64ビットバイナリ用)を追加するだけです。
前者がとの場合は、アプリケーション自体がexecve
ではない場合は、/u/lib64/ld-linux-x86-64.so.2 /path/to/app
のように呼び出すことができます。
アプリケーションがexec
自体をし、または変更したくないシェルスクリプトの多数によって呼び出される場合、あなたはバイナリパッチにアプリケーションを持っています:バイナリの.dynstr
セクションに/lib64/ld-linux-x86-64.so.2
文字列を置換/u/lib64/ld-2.13.so
(新しい文字列は古いものより長くならないようにする必要があります)。
私はあなたの質問は、カーネルプログラミングを行うには何も何を持っていない
をプログラミングするカーネルの新しいです。
関連する問題
- 1. LD:アーキテクチャx86_64で
- 2. Ubuntu 11.10でソースからettercap 0.7.4.1をコンパイルする(リンカエラー)
- 3. Tesseractを使用している場合のアーキテクチャx86_64の未定義のシンボル
- 4. UbuntuのソースからMeshLabをコンパイルできません。16.10
- 5. アーキテクチャx86_64でエラーMAC
- 6. ppを使用してperlソースをコンパイル
- 7. gfortranコンパイルでのエラー:アーキテクチャx86_64の未定義シンボル
- 8. OpenCVのHello World(コンパイルとUbuntuのソースからのリンク)
- 9. NodeJS 0.10.25(Ubuntu 14.04)とNodeJS 4.1(NodeJS.orgソースからコンパイル)の相違点
- 10. アーキテクチャx86_64(xcodeのOpenGL)のシンボル
- 11. のXcode:アーキテクチャx86_64でのldのシンボルをiOSUndefined:記号(S)アーキテクチャx86_64で
- 12. アーキテクチャx86_64の重複シンボル:Eclipse
- 13. NASMを使用してx86_64環境用の32ビットアセンブリをコンパイルします
- 14. アーキテクチャx86_64の未定義シンボル:どのアーキテクチャを使用する必要がありますか?
- 15. cythonを使用してintel ubuntuからarmにプロジェクトをコンパイルする
- 16. 未定義のシンボルのため、Ffmpegのコンパイルが失敗する_x264_encoder_open_112(アーキテクチャx86_64)
- 17. Android Studioの別のモジュールのソースを使用してコンパイルする
- 18. ソースからUbuntuにforemanをインストールする
- 19. 必要なアーキテクチャはx86_64に
- 20. :ライブラリは、アーキテクチャはx86_64" ここ
- 21. ubuntuのソースからOctave 4.2.0をインストールしていますか?
- 22. x86_64 Linuxマシンでgentoo-bionicをコンパイルする
- 23. WindowsのソースからDoxygenをコンパイルする
- 24. ソースからのRパッケージをコンパイルする
- 25. gcc -c * .cを使用してソースをオブジェクトファイルにコンパイルする
- 26. コンパイルするアーキテクチャがありません(ONLY_ACTIVE_ARCH = YES、アクティブなarch = x86_64、VALID_ARCHS = armv6 armv7)
- 27. package.jsonのソースからコンパイル
- 28. 未定義シンボル: "_OBJC_CLASS _ $ _ WKWebView"、から参照:アーキテクチャx86_64版のため
- 29. Google Sign-In SDK 4.0.1を使用しているアーキテクチャx86_64のシンボルが重複しています
- 30. スタンドアロンのMatlabガイドプログラムをUbuntuを使用してWindows用にコンパイル