gcc在sparc上生成32位代码

时间:2010-03-04 05:06:10

标签: gcc solaris 32bit-64bit

我有一个Solaris sparc机器,当我构建我的程序时,它会生成32位代码,应该是64位。如何检查原因?

$ uname -a
SunOS sol 5.10 Generic_118833-33 sun4u sparc SUNW,Sun-Fire-V240
$ / usr / sfw / bin / gcc --version
gcc(GCC)3.4.3(csl-sol210-3_4-branch + sol_rpath)
版权所有(C)2004 Free Software Foundation,Inc。
这是免费软件;查看复制条件的来源。没有 保证;甚至不适用于适销性或特定用途的适用性。

$ / usr / sfw / bin / gcc test.c
$ file a.out
a.out:ELF 32位MSB可执行文件SPARC版本1,动态链接,未剥离,没有可用的调试信息 $

2 个答案:

答案 0 :(得分:1)

您应该能够使用-m64选项强制进行64位构建。

如果失败,您可以从SunFreeware.com下载并安装具有针对Solaris 10的64位SPARC支持的预构建GCC软件包(下载,gunzip,安装pkgadd -d gcc-...-sparc-local)从/usr/local/bin/gcc开始。

答案 1 :(得分:1)

OSNews - SPARC Optimizations With GCC

  

创建64位代码需要使用-m64标志(默认情况下隐含了32位代码-m32)。

(是的,这与x86_64的GCC不同,默认为-m64,除非被-m32覆盖。)