我一直在爲i386實模式編寫一些「獨立」代碼,並遇到了一些奇怪的錯誤,而PXE網絡啓動我的代碼:爲什麼gnu鏈接程序的'--oformat binary'選項將`.data'段放在0x0200000處
PXE-E79: NBP is too big to fit in free base memory
PXE-M0F: Exiting Intel Boot Agent.
後與我的二進制多擺弄我分離它作爲
.data
段標記後具有任何的數據或代碼。
經過hexdumping之後,我發現ld將指示一路移動到了所有地方的0x0200000
。
我正在生成我的房子斌用:
ld --oformat binary
問題:
爲什麼
ld
做到這一點?是否特定於
oformat
選項?
謝謝,我會離開的問題開放,如果有人不知道到底爲什麼它這樣做。儘管感謝您的回答。 – Hawken
你是指2個MiB頁面的含義? – Hawken