LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: faxian

编译gcc指定target为i686,在用其编译的代码能运行在i386上吗?

[复制链接]
 楼主| 发表于 2006-4-2 20:19:40 | 显示全部楼层
Post by 终极幻想
噢,我就是对 x86 说的,,你提及的连接中,也说了,不同体系不同的做法,我不知道其他体系具体的细节,因为我没研究过。

debian 的是标准的,LFS 也一样。
# ll /usr/lib/gcc
total 0
drwxr-xr-x 5 root root 120 2006-03-13 12:50 i686-pc-linux-gnu/

我不知道如何试验 -march=i386 和 -march=k8 的区别。有什么软件么?

这不难吧,用 -march=i686编译一个小程序,然后考到奔腾或486上运行一下.(肯定运行不了),gcc手册中:except for the ABI and the set of available instructions.区别就在这吧
算了,我不想再钻下去了,没时间,要考试了.
总而言之:--target=...等同于--mtune(新版的gcc中用来代替--mcpu),而--march才决定
兼容性.
回复 支持 反对

使用道具 举报

发表于 2006-4-2 20:37:11 | 显示全部楼层
我上哪里找 pentium 和 486 机器啊。晕死,要能的话,我早就测试了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-2 20:43:27 | 显示全部楼层
呵呵,那就算了吧,反正原理都明白了.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-2 22:57:01 | 显示全部楼层
再问一下,
gentoo的CHOST参数是否就是用来设定binutils与gcc的--target的?
回复 支持 反对

使用道具 举报

发表于 2006-4-3 09:57:25 | 显示全部楼层
Post by 终极幻想
我上哪里找 pentium 和 486 机器啊。晕死,要能的话,我早就测试了。
我能找到 P133,跑 Debian 的,能否说说怎样来测试?
回复 支持 反对

使用道具 举报

发表于 2006-4-3 17:51:30 | 显示全部楼层
http://olive-os.sourceforge.net/zizip.tar.bz2

试试运行里边的2个文件,是从 zip-2.3 编译过来的。静态编译的。2个文件 athlon64 和 i386 ,是 -march 的参数。我编译的,不会有木马,:cool:

测试至于能否成功,就不知道了。有经验的人来说说?
回复 支持 反对

使用道具 举报

发表于 2006-4-3 19:53:55 | 显示全部楼层
好,不過現在試不了,返回公司後再試。
回复 支持 反对

使用道具 举报

发表于 2006-4-9 00:33:43 | 显示全部楼层
好像有点问题,都有报错,说 Illegal instructions!

configure 的时候用了什麽 options ?
回复 支持 反对

使用道具 举报

发表于 2006-4-9 01:46:10 | 显示全部楼层
按照 BLFS 提示编译的。不过就是加了 -march 和 -static。
回复 支持 反对

使用道具 举报

发表于 2006-4-9 01:52:07 | 显示全部楼层
奇怪,-march=i386 不应该在 pentium 上跑也出错吧?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表