编译64位Linux内核使用GCC

编译64位Linux内核使用GCC

问题描述:

虽然试图使用gcc来编译64位Linux内核,我看到了 以下错误:编译64位Linux内核使用GCC

内核/ bounds.c:1:错误:代码模式“内核”不在32 位模式下支持
内核/ bounds.c:1:对不起,没有实现:64位模式不

编译这是-v gcc的报告
使用内置眼镜。
目标:i586-redhat-linux
配置:../configure --prefix =/usr --mandir =/usr/share/man - infodir =/usr/share/info --with-bugurl = http://bugzilla.redhat.com/ bugzilla --enable-bootstrap --enable-shared --enable-threads = posix - enable-checking = release --with-system-zlib --enable -__ cxa_atexit - disable-libunwind-exceptions - -enable-languages = c,C++,objc,obj -c + plugin --with-java-home = /usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre - enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar =/ usr/share /java/eclipse-ecj.jar --disable-libjava-multilib --with-pp l - with-cloog --with-tune = generic --with-arch = i586 --build = i586-redhat- linux
线程模型:posix
gcc版本4.4.1 20090725(Red Hat 4.4。 1-2)(GCC)

我在内核make命令行中缺少一些东西吗? 还是它的gcc目前在系统上不支持64位 汇编?

您的编译器是32位的。

+0

我在哪里可以找到64位gcc?或者我如何编译gcc来支持64位编译? – vivekian2 2009-09-03 01:11:08

+0

在构建支持x86_64位的编译器之后,内核构建仍然失败。我尝试为kernel-devel-x86_64安装fedora core rpm。这也失败了。这是根源,因为它是较早的P4 CPU,可能不支持64位。 – vivekian2 2009-09-06 17:09:35

+0

哦,如果你想改变你的操作系统的架构从32位到64位,你将完全重新安装系统。但是,在大多数64位处理器上,所有32位将保持运行。 – 2009-09-06 17:28:07

你在运行什么系统?

如果您的主机系统以32位模式运行,则必须构建一个定位x86_64的交叉编译器。如果你的系统是一个64位系统,那么你的供应商应该为你提供一个系统编译器,能够构建64位可执行文件。

“uname -a”在你的系统上说什么?

+0

我很确定它在32位模式下运行。 uname -a Linux host.vivekian.com 2.6.29.4-167.fc11.i586#1 SMP Wed May 27 17:14:37 EDT 2009 i686 i686 i386 GNU/Linux 如何构建gcc以将目标x86- 64? – vivekian2 2009-09-03 18:14:40