亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 4943 | 回復(fù): 8
打印 上一主題 下一主題

求 X86 Linux gcc ABI 的詳細(xì)文檔 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2012-05-06 20:57 |只看該作者 |倒序?yàn)g覽
我需要看懂 X86 Linux 可執(zhí)行文件(ELF文件)的二進(jìn)制內(nèi)容。
請問需要尋找什么資料?**?
是不是需要 X86 Linux gcc ABI 的詳細(xì)文檔?怎么得到?
還需要?jiǎng)e的什么資料?
跪求。
謝謝。

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2012-05-06 22:07 |只看該作者
貼子中忘了說了,我的 X86 Linux 是 Redhat Enterprise, 并且有兩個(gè)不同的version的server。
具體說,就是通過以下指令看的version,
cat  /etc/redhat-release
有的server是4.6,有的server是5.3。

論壇徽章:
2
摩羯座
日期:2013-10-10 14:29:04天蝎座
日期:2014-01-03 09:14:49
3 [報(bào)告]
發(fā)表于 2012-05-07 11:12 |只看該作者
google一下 x86 ABI

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2012-05-07 22:10 |只看該作者
我們的serever有些是這個(gè)版本:
        Red Hat Enterprise Linux AS release 4 (Nahant Update 6)
        gcc version 3.4.6 20060404 (Red Hat 3.4.6-9)
另一些是這個(gè)版本:
        Red Hat Enterprise Linux Server release 5.3 (Tikanga)
        gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)

我有一個(gè)C程序。如果我在4.6版server上編譯,它可以在5.3版server上正確運(yùn)行。
但是如果我在5.3版server上編譯,它在4.6版server上就無法運(yùn)行,只給出一下提示:
        Floating exception
我查看了兩個(gè)可執(zhí)行文件,發(fā)現(xiàn)里面都包含GLIBC_2.2.5。

我需要在二進(jìn)制的級別理解為什么在高版本Linux編譯出的程序在低版本Linux中不能運(yùn)行。于是我從gnu.org下載了以下文件:
        System V Application Binary Interface
        AMD64 Architecture Processor Supplement
        Draft Version   0.99.5
        Edited by       Michael Matz, Jan Hubiˇcka, Andreas Jaeger, Mark Mitchell
        September 3, 2010

但是這是個(gè)很大的文件,有128頁,而且我沒有理解ELF文件二進(jìn)制碼的經(jīng)驗(yàn)。我不知道這是不是我所需要的正確的文件。

大家可以不可以給我建議?
1. 短期內(nèi),請問,盡管它們都擁有GLIBC_2.2.5,為什么在Linux5.3編譯出的程序在Linux4.6中不能運(yùn)行?
2. 從長遠(yuǎn)看,我學(xué)習(xí)并掌握ELF文件二進(jìn)制格式的正確途徑是什么?我需要那些資料來學(xué)習(xí)這個(gè)領(lǐng)域?

謝謝。

論壇徽章:
2
摩羯座
日期:2013-10-10 14:29:04天蝎座
日期:2014-01-03 09:14:49
5 [報(bào)告]
發(fā)表于 2012-05-08 14:52 |只看該作者
浮點(diǎn)異常錯(cuò)誤,先查查出錯(cuò)的位置,看看是不是應(yīng)用程序本身的錯(cuò)誤。

可以通過readelf和objdump命令幫助了解ELF文件格式。

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2012-05-08 20:59 |只看該作者
謝謝。我用readelf開始研究了一下ELF文件的格式,但是還沒開始用objdump,接下來會(huì)用。

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2012-05-11 10:52 |只看該作者
gcc 每個(gè)版本都比上一個(gè)版本對語法的要求更嚴(yán)格。Linux 每個(gè)版本都是向下兼容的。硬件架構(gòu)可能有32位到64位的跨越,尤其是浮點(diǎn)計(jì)算,64位體系結(jié)構(gòu)的指令集和32位有較大不同,有了很多擴(kuò)展。二進(jìn)制接口中涉及到指令集的部分可能因?yàn)橹噶罴纳壋霈F(xiàn)沖突。建議仔細(xì)閱讀相關(guān)文檔。

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2012-12-17 10:59 |只看該作者
很遺憾地告訴你,Linux的二進(jìn)制兼容性很差。

所以,你就用老版本的編譯器去編譯吧。。。。。。。。。。


論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2012-12-17 12:52 |只看該作者
看看ELF File Format Specification吧
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP