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

  免費注冊 查看新帖 |

Chinaunix

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

不同的編譯器,相同的代碼也會有問題??! [復(fù)制鏈接]

論壇徽章:
2
天蝎座
日期:2014-07-23 21:17:122015年辭舊歲徽章
日期:2015-03-03 16:54:15
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2015-02-11 14:43 |只看該作者 |倒序瀏覽
Hi all
完全一樣的uboot代碼,不同的編譯器,區(qū)別只是一個gcc和uclibc版本較新。
編出來的uboot一個可用,一個不可用。

不可用的那個可能是內(nèi)存初始化有問題。flash階段好好的,跳轉(zhuǎn)到 內(nèi)存之后就死掉了。
編譯器對程序有哪些影響?
會不會和GLOBAL_OFFSET_TABLE有關(guān)系呢?
怎么確認和定位?

哪位大神給個思路?

論壇徽章:
2
天蝎座
日期:2014-07-23 21:17:122015年辭舊歲徽章
日期:2015-03-03 16:54:15
2 [報告]
發(fā)表于 2015-02-12 09:04 |只看該作者
死在 board_init_r 中,初步確認和code_rellocate 有關(guān)系。
兩個編譯器下 __u_boot_cmd_start 和 __u_boot_cmd_end 不相同,錯誤的那個地址范圍是flash區(qū)域的!
uboot.lds里的 __u_boot_cmd_start 是根據(jù)什么來確定的呢?

論壇徽章:
2
天蝎座
日期:2014-07-23 21:17:122015年辭舊歲徽章
日期:2015-03-03 16:54:15
3 [報告]
發(fā)表于 2015-02-12 14:14 |只看該作者
u-boot.lds中的全局符號在重定向前后地址是不同的,前是flash區(qū)間內(nèi)與system.map地址一致,后是ddr區(qū)間內(nèi)
錯誤的編譯器編出來的uboot為何沒有重定向呢? 前后都是 flash 區(qū)間的同一地址!

論壇徽章:
6
2015年辭舊歲徽章
日期:2015-03-05 16:13:092015年迎新春徽章
日期:2015-03-05 16:13:092015小元宵徽章
日期:2015-03-06 15:58:1815-16賽季CBA聯(lián)賽之浙江
日期:2016-11-05 14:38:4115-16賽季CBA聯(lián)賽之新疆
日期:2016-11-11 18:38:06
4 [報告]
發(fā)表于 2015-02-12 23:34 |只看該作者
本帖最后由 爻易 于 2015-02-12 23:35 編輯

相同的代碼,相同的編譯器,不同的優(yōu)化選項,有時也會產(chǎn)生不同的結(jié)果。

匯編程序員不會100%信任編譯器!盡信書則不如無書!

論壇徽章:
2
天蝎座
日期:2014-07-23 21:17:122015年辭舊歲徽章
日期:2015-03-03 16:54:15
5 [報告]
發(fā)表于 2015-02-13 09:17 |只看該作者
回復(fù) 4# 爻易

這個知道,所以 uboot 編譯時的 config.mk 和 config.h,連CFLAG LDFLAG 都保證了是一模一樣的。

而且relocate_code的代碼是匯編的,在start.S,非C,并且確認傳入relocate_code的三個參數(shù)都是一模一樣的。
  1. * a0 = addr_sp
  2. * a1 = gd
  3. * a2 = destination address
復(fù)制代碼
我的疑惑是即便如此,relocate_code() 表現(xiàn)仍不相同。

論壇徽章:
6
2015年辭舊歲徽章
日期:2015-03-05 16:13:092015年迎新春徽章
日期:2015-03-05 16:13:092015小元宵徽章
日期:2015-03-06 15:58:1815-16賽季CBA聯(lián)賽之浙江
日期:2016-11-05 14:38:4115-16賽季CBA聯(lián)賽之新疆
日期:2016-11-11 18:38:06
6 [報告]
發(fā)表于 2015-02-13 09:28 |只看該作者
相同的編譯標志,不同的字長,如32位升級到64位模式,參數(shù)傳遞方式也可能會變化,匯編與C混編代碼時要特別注意這方面的問題。

論壇徽章:
0
7 [報告]
發(fā)表于 2015-03-07 11:45 |只看該作者
回復(fù) 5# polejo
建議:是否可以對兩個版本的relocate_code代碼進行對比,可以反匯編處理,也許能發(fā)現(xiàn)一點問。


   

論壇徽章:
2
天蝎座
日期:2014-07-23 21:17:122015年辭舊歲徽章
日期:2015-03-03 16:54:15
8 [報告]
發(fā)表于 2015-03-09 09:06 |只看該作者
回復(fù) 7# lazy_linux

    relocate_code本身就是匯編寫的,沒有匯編器的參與,不需要反匯編,而且兩個版本的relocate_code一模一樣。

這個問題最終是沒有找到根本原因,只是一個解決的辦法,把壞版本的驅(qū)動逐步移到好版本里面,保證一級啟動的部分都是ok的。

論壇徽章:
59
2015年亞洲杯之約旦
日期:2015-01-27 21:27:392015年亞洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵節(jié)徽章
日期:2015-03-06 15:50:392015年亞洲杯之阿聯(lián)酋
日期:2015-03-19 17:39:302015年亞洲杯之中國
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03雙子座
日期:2014-12-10 21:39:16處女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
9 [報告]
發(fā)表于 2015-04-06 11:08 |只看該作者
自已用ldscript指定指令的位置。

論壇徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16賽季CBA聯(lián)賽之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金雞報曉
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年紀念徽章
日期:2016-11-09 13:19:1015-16賽季CBA聯(lián)賽之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序設(shè)計版塊每日發(fā)帖之星
日期:2015-12-03 06:20:002015七夕節(jié)徽章
日期:2015-08-21 11:06:17IT運維版塊每日發(fā)帖之星
日期:2015-08-09 06:20:002015亞冠之吉達阿赫利
日期:2015-07-03 08:39:42
10 [報告]
發(fā)表于 2015-04-21 11:12 |只看該作者
很久前碰過相同的問題,
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP