我正在嘗試構建libc/NPTL的修改版本。我的Ubuntu版本顯示它是2.13版本。我想創建一個單獨的libc/nptl/libpthreads,並希望將其用於現有應用程序(如apache),而不用替換現有的glibc/libpthreads。我是內核編程和動態加載的新手。您能否提供一個如何使用動態加載功能來使用libc/NPTL的例子。從源代碼編譯和使用glibc-2.13 x86_64體系結構
0
A
回答
3
我想創建一個單獨的libc/NPTL/libpthreads來
這很簡單:./configure --prefix=/u && make && make install
。恭喜你,你現在有一個單獨的libc/lipthreads
下/u
,並希望將其用於現有的應用程序(如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
本身,或得到由shell腳本的許多您不想要修改調用的,那麼你就必須爲二進制補丁的應用:以二進制的.dynstr
部分取代/lib64/ld-linux-x86-64.so.2
串與/u/lib64/ld-2.13.so
(新的字符串不得長於舊的字符串)。
我新的內核編程
你的問題有什麼任何做內核編程。
相關問題
- 1. 體系結構x86_64的未定義符號:使用C++編譯
- 2. 體系結構x86_64的未定義符號 - 編譯繼承類
- 3. gfortran編譯錯誤:體系結構x86_64的未定義符號
- 4. Caffe編譯失敗:體系結構x86_64的未定義符號?
- 5. 編譯C++時體系結構x86_64的未定義符號
- 6. 編譯.C文件:體系結構x86_64的未定義符號
- 7. 在x86_64體系結構中編譯爲32位模式
- 8. SpeechKit不支持體系結構x86_64?
- 9. 代碼塊x86_64體系結構的未定義符號:
- 10. 體系結構x86_64運行Haskell代碼時,Haskell OSX iconv
- 11. 使用AVX體系結構編譯另一個SSE2源碼安全嗎?
- 12. 使用從源代碼編譯的SharpDX?
- 13. MediaLibsDemo缺少體系結構x86_64
- 14. 庫找不到-lswiftCoreFoundation體系結構x86_64
- 15. 從代碼內編譯QT源代碼
- 16. nginx從源代碼編譯
- 17. 關於GCC編譯x86_64的代碼和C代碼優化
- 18. 爲ARM體系結構編譯libcivil
- 19. 沒有可編譯的體系結構
- 20. 沒有體系結構編譯iphone sdk
- 21. CMake多體系結構編譯
- 22. 沒有體系結構要編譯(ONLY_ACTIVE_ARCH = YES,活動arch = x86_64,VALID_ARCHS = i386)
- 23. 沒有體系結構編譯爲(ONLY_ACTIVE_ARCH = YES,活動arch = x86_64,VALID_ARCHS = armv7 armv7s)
- 24. 在OSX終端中編譯C++:體系結構x86_64的未定義符號
- 25. 編譯libx264時出錯:體系結構x86_64的未定義符號
- 26. eclipse C++ build error體系結構x86_64的未定義符號:找不到體系結構x86_64的ld:symbol(s)
- 27. osx - 升壓和python未定義的符號體系結構x86_64
- 28. 用於VLIW體系結構的GCC編譯器基礎結構
- 29. 體系結構x86_64的未定義符號:gfortran
- 30. ld:體系結構x86_64的1個重複符號