[問題] 如何正確更改程式 entry address?

看板LinuxDev作者 (Ma-Ing-酒)時間16年前 (2009/07/09 22:00), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
請問一下 我的電腦裝的是 AMD64 Linux 因此我想把我的一支程式 entry point 設成 4G 以上 可是我試過這樣編譯程式 gcc -o prog prog.c -Xlinker "-Ttext" -Xlinker "0x200000000" 但會出現 crtstuff.c:(.text+0x20): relocation truncated to fit: R_X86_64_32S against `.dtors' 這類訊息 請問有辦法把我的程式搬移到 4G 以上的 address space 嗎? Thanks~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.72.119

07/13 03:32, , 1F
user space 理論上應該不能指定 entry address
07/13 03:32, 1F

07/13 03:33, , 2F
只能夠指定 offset ... 絕對位址是不行的,
07/13 03:33, 2F

07/13 03:34, , 3F
一個process 能不能吃到4G以上的memory也是問題 XD
07/13 03:34, 3F

07/16 11:25, , 4F
目前 gcc 只能把 code 擺在 2G 以下
07/16 11:25, 4F

07/16 11:28, , 5F
R_X86_64_32S 的解釋可以參考
07/16 11:28, 5F

07/16 11:28, , 6F

08/04 22:04, , 7F
謝謝各位解答囉~
08/04 22:04, 7F
文章代碼(AID): #1ALVWKhu (LinuxDev)
文章代碼(AID): #1ALVWKhu (LinuxDev)