问题标签 [sparc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
860 浏览

c - Sparc 过程调用约定

我想在 Sparc 中做一些“内联”汇编编程,我想知道如何通过寄存器传递来做到这一点。

最好用一个小例子来解释我的问题

有谁知道我必须使用哪些寄存器才能添加值 a 和 b?最后,我需要为 rd 指定哪个寄存器,以便随后将结果与 assemly 例程之后的最后一个 printf 语句一起打印。

非常感谢您的意见!

0 投票
2 回答
1422 浏览

assembly - 反汇编的 gcc 输出似乎执行“调用 0”而不是“调用函数偏移量”,但工作正常

我刚刚看了一下从这个 C 程序中得到的一个非常简单的 SPARC 汇编输出:

部分.text的反汇编:

我不明白为什么“呼叫”指令说:

为什么不是:

该程序运行良好,但是,这个输出对我来说没有太大意义。有什么建议为什么要以这种方式处理?

谢谢

0 投票
1 回答
3096 浏览

svn - 构建 subversion 1.6.12 - make: *** [subversion/libsvn_subr/libsvn_subr-1.la] 错误 1 ​​- Solaris 10 Sparc

我在 Solaris 5.10 SPARC 平台上尝试从源代码编译 subversion 1.6.12 时得到以下信息。我只需要这台机器上的 svn 客户端程序,所以不需要 Apache、Neon 或 Swig。

我的配置:

$ ./configure --without-berkeley-db --with-zlib=/usr --without-sasl --disable-nls --with-apr=/usr/local/apr --with-apr-util=/ usr/local/apr --without-apxs --without-swig --without-neon --with-ssl --prefix=/var/tmp/subversion/svn

$ 制作

cd subversion/libsvn_subr && /bin/bash /var/tmp/subversion/subversion-1.6.12/libtool --tag=CC --silent --mode=link gcc -g -O2 -g -O2 -L/usr/ local/lib -L/usr/lib -rpath /var/tmp/subversion/svn/lib -o libsvn_subr-1.la atomic.lo auth.lo c ache-inprocess.lo cache-memcache.lo cache.lo 校验和。 lo cmdline.lo compat.lo config.lo config_auth.lo config_file.lo config_win.lo constructors.lo ctype.lo date.lo deprecated.lo dirent_uri.lo dso.lo error.lo hash.lo io.lo iter.lo kitchensi nk.lo lock.lo log.lo macos_keychain.lo md5.lo mergeinfo.lo nls.lo opt.lo path.lo pool.lo prompt.lo properties.lo quoprin t.lo sha1.lo simple_providers.lo skel.lo sorts.lo sqlite.lo ssl_client_cert_providers.lo ssl_client_cert_pw_providers.lo ssl_server_trust_providers.lo stream.lo subst.lo svn_base64.lo svn_string.lo target.lo time.lo 用户。lo username_provide rs.lo utf.lo utf_validate.lo validate.lo version.lo win32_crashrpt.lo win32_crypto.lo win32_xlate.lo xml.lo /usr/local/a pr/lib/libaprutil-1.la -lgdbm -ldb-4.2 -lexpat -liconv /usr/local/apr/lib/libapr-1.la -luuid -lsendfile -lrt -lsocket -lnsl -lpthread -lz -lsqlite3 -lsocket 制作:*** [subversion/libsvn_subr/libsvn_subr-1. la] 错误 1

在我看来 subversion/libsvn_subr/libsvn_subr-1.la 不存在。

$ ls subversion/libsvn_subr/libsvn_subr-1.la subversion/libsvn_subr/libsvn_subr-1.la: 没有那个文件或目录

有什么线索吗?非常感谢帮助。:)

0 投票
3 回答
2693 浏览

java - 在 Windows Intel 与 Solaris Sparc (T1000) 上运行 JAVA

嗨,我正在尝试在 Solaris Sparc 上测试我的 JAVA 应用程序,但出现了一些奇怪的行为。我不是在寻找火焰战争。我只是想知道发生了什么或出了什么问题......

我在 Intel 和 T1000 上运行相同的 JAR,而在 Windows 机器上我能够在 Solaris 机器上获得 100%(性能监视器)cpu 利用率我只能获得 25%(prstat)

该应用程序是我编写的一个自定义服务器应用程序,它使用 netty 作为网络框架。

在 Windows 机器上,我每秒可以达到 200 个以上的请求/响应,包括完整的业务逻辑和对外部 3rd 方的访问,而在 Solaris 机器上,我仅在 25% 的 CPU 下获得大约 150 个请求/响应

可以想象,如果我能让 Sparc 充分发挥作用,我还能从 Sparc 中得到多少请求/响应。

服务器是...

Windows 2003 SP2 x64bit, 8GB, 2.39Ghz Intel 4 core Solaris 10.5 64bit, 8GB, 1Ghz 6 core

两者分别使用 jdk 1.6u21。

有任何想法吗?

0 投票
2 回答
274 浏览

jit - SPARC 架构作为 JIT 编译器目标仍然适用于高端服务器吗?

X86 和 AMD64 是许多计算环境(台式机、服务器和超级计算机)最重要的架构。显然,JIT 编译器应该同时支持它们才能获得认可。

直到最近,SPARC 架构还是编译器的合乎逻辑的下一步,特别是在高端服务器市场上。但是现在孙已经死了,事情就不清楚了。

Oracle 似乎对此并不真正感兴趣,一些大型项目正在放弃对该架构的支持(例如 Ubuntu)。但另一方面,旨在开源最新处理器的 OpenSPARC 计划非常有希望,这意味着许多制造商可以在不久的将来免费实施和使用 SPARC。

那么,作为 JIT 编译器的下一个目标架构,SPARC 仍然是一个不错的选择吗?还是选择另一个更好(POWER、ARM、MIPS、...)?

0 投票
2 回答
705 浏览

gcc - gcc 为不同的 SPARC 处理器预定义了哪些宏?

运行在不同 SPARC 处理器上的 GCC 编译器为 C 程序预定义了哪些宏。操作系统是Linux。

那么如何在编译时区分 UltraSPARC、SuperSPARC、Niagara、SPARC64 等。

谢谢

0 投票
1 回答
1837 浏览

gcc - 执行按位与(SPARC 汇编)时重定位溢出?

我正在尝试对寄存器执行按位与,作为位掩码以删除最高有效位(从 0 计数时恰好是第 16 位)。但是,当我尝试使用 gcc 编译我的代码时,它给了我以下错误消息:

汇编器消息:19:错误:重定位溢出

我的猜测是,这与我正在应用的位掩码的大小有关,因为当我对两个包含小数字的寄存器执行 AND 时,我不会遇到相同的错误。代码本身看起来像,

如果有人能就如何解决这个问题提供一些见解,将不胜感激。

谢谢,

坏熊猫

0 投票
1 回答
1935 浏览

c - 使用 Oracle 10g 64 位构建 PROC 应用程序的问题

我正在尝试在 Solaris SPARC 平台上使用 Oracle 10g 64 位以 32 位模式构建我的 PRO* C应用程序。

有人能告诉我必须进行哪些设置才能成功编译并创建可执行文件吗?

目前,当我切换时LD_LIBRARY_PATH=$ORACLE_HOME/lib32,proc 失败并出现以下错误:

##ld.so.1:proc:致命:/opt/oracle/product/10.2.0.4/lib32/libclntsh.so.10.1:错误的 ELF 类:ELFCLASS32

任何帮助表示赞赏。

0 投票
3 回答
2782 浏览

multithreading - 如何使用 g++ 在 64 位 solaris sparc 上编译线程本地存储 (TLS)

我有一段 C/C++ 代码,它使用 __thread 关键字进行线程本地存储,但是在使用 g++(版本 4.0.2)的 64 位 Solaris Sparc 上编译它时遇到问题,而它在使用 g++ 的 Linux 上编译和运行正常34 编译器。下面是一个源代码示例:

来自“g++ -dumpversion”命令的编译器信息返回“4.0.2”,“g++ -dumpmachine”显示“sparc-sun-solaris2.8”。“uname -a”显示“SunOS devsol1 5.9 Generic_118558-26 sun4u sparc SUNW,UltraAX-i2”。

使用 g++ 运行 make 时的错误消息是:“错误:此目标不支持线程本地存储”,我使用的编译器选项是

非常感谢任何帮助,因为我在周末一直在努力解决这个问题并且面临最后期限。

谢谢,查尔斯

0 投票
1 回答
941 浏览

compiler-construction - 在我的 SPARC 程序集中调试段错误的最佳方法是什么?

我正在编写一个 sparc 编译器。我的一个测试用例在从命令行正常运行时工作正常,但是当我将输出重定向到文件时会出现段错误。

我尝试过使用 GDB,但组装起来很困难。我怎样才能找出像哪条装配线导致段错误这样简单的事情?