9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
學習啦 > 學習電腦 > 操作系統 > Linux教程 > 制作Linux的核心問題是什么

制作Linux的核心問題是什么

時間: 若木635 分享

制作Linux的核心問題是什么

  制作Linux的核心問題:根目錄沖突(ld-linux.so位置

  由查找共享庫的過程我們知道,鏈接器ld-linux.so的位置是寫死在程序中的,那么寫入的鏈接器的路徑到底是怎么確定的呢?

  在程序的編譯過程中,gcc和binutils會查找C庫中的頭文件和共享庫,鏈接器也是在編譯過程中查找到的。至于是gcc還是binutils做的這工作我也不清楚,不過gcc和binutils一定是依賴于同一個C庫的,搜索的也是同一個C庫,所以不用考慮也可以。但一定要知道它們搜索的是哪個C庫。

  問題的產生

  由于我們制作的linux是在源系統中的一個文件夾中的,而我們編譯出來的程序的鏈接器還要指向目標系統的C庫,這就導致了程序中寫入的鏈接器的路徑含有了目標系統所在文件夾這一部分,但這是不對的。

  例如我們把/mylinux當做制作系統的根目錄,先編譯一個glibc在/mylinux文件夾中,再將工具鏈調整指向/mylinux中的glibc,之后編譯的程序就都指向了/mylinux中的glibc。

  可是制作的系統中的程序的鏈接器就變成了/mylinux/lib/ld-linux.so.X了。這樣我們把/mylinux中做好的系統放到一 個分區中啟動時,由于沒有/mylinux/lib/ld-linux.so.X這個鏈接器,所有程序都會因為找不到共享庫而不能運行(靜態編譯的除外)。

  如果你編譯過lfs,那你制作的tools和上面的/mylinux是一樣的,其中的程序的鏈接器為/tools/lib/ld-linux.so.2。你可以用ldd命令看一下。

  這個問題可以總結為鏈接器寫入程序的路徑是相對于根目錄的,而我們制作的系統不能占有根目錄,而造成鏈接器的位置編譯和運行時不一致。

75423 主站蜘蛛池模板: 天堂在线最新版av观看| 亚洲av网一区天堂福利| 极品尤物被啪到呻吟喷水| 粉嫩av国产一区二区三区| 欧美精品一产区二产区| 4399理论片午午伦夜理片| 亚洲色在线V中文字幕| 中文字幕国产日韩精品| 国产精品一区二区性色av| 国产熟睡乱子伦午夜视频| 青草99在线免费观看| 亚洲男人天堂2021| 色777狠狠狠综合| 国产精品自在拍首页视频8| 四虎成人在线观看免费| 亚洲国产精品一二三四区| 日韩高清砖码一二区在线| 成人欧美日韩一区二区三区| 99久久久无码国产精品免费| 无码一区中文字幕| P尤物久久99国产综合精品| 秋霞人妻无码中文字幕| 任我爽精品视频在线播放| 国产在线中文字幕精品| 国产成人啪精品视频免费网 | 免费费很色大片欧一二区| 亚洲国产午夜理论片不卡| 大尺度国产一区二区视频| 国产精品户外野外| 婷婷色婷婷深深爱播五月| 日韩在线成年视频人网站观看| 国产精品免费第一区二区| 亚洲av肉欲一区二区| 精品无码国产一区二区三区av| 国产成人免费一区二区三区| 东京热人妻无码一区二区av| 久久国产免费观看精品| 亚洲色大成网站WWW久久| 天天爽夜夜爱| 午夜国产精品福利一二| 色秀网在线观看视频免费|