问题标签 [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.
c - Sparc 过程调用约定
我想在 Sparc 中做一些“内联”汇编编程,我想知道如何通过寄存器传递来做到这一点。
最好用一个小例子来解释我的问题
有谁知道我必须使用哪些寄存器才能添加值 a 和 b?最后,我需要为 rd 指定哪个寄存器,以便随后将结果与 assemly 例程之后的最后一个 printf 语句一起打印。
非常感谢您的意见!
assembly - 反汇编的 gcc 输出似乎执行“调用 0”而不是“调用函数偏移量”,但工作正常
我刚刚看了一下从这个 C 程序中得到的一个非常简单的 SPARC 汇编输出:
部分.text的反汇编:
我不明白为什么“呼叫”指令说:
为什么不是:
该程序运行良好,但是,这个输出对我来说没有太大意义。有什么建议为什么要以这种方式处理?
谢谢
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: 没有那个文件或目录
有什么线索吗?非常感谢帮助。:)
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。
有任何想法吗?
jit - SPARC 架构作为 JIT 编译器目标仍然适用于高端服务器吗?
X86 和 AMD64 是许多计算环境(台式机、服务器和超级计算机)最重要的架构。显然,JIT 编译器应该同时支持它们才能获得认可。
直到最近,SPARC 架构还是编译器的合乎逻辑的下一步,特别是在高端服务器市场上。但是现在孙已经死了,事情就不清楚了。
Oracle 似乎对此并不真正感兴趣,一些大型项目正在放弃对该架构的支持(例如 Ubuntu)。但另一方面,旨在开源最新处理器的 OpenSPARC 计划非常有希望,这意味着许多制造商可以在不久的将来免费实施和使用 SPARC。
那么,作为 JIT 编译器的下一个目标架构,SPARC 仍然是一个不错的选择吗?还是选择另一个更好(POWER、ARM、MIPS、...)?
gcc - gcc 为不同的 SPARC 处理器预定义了哪些宏?
运行在不同 SPARC 处理器上的 GCC 编译器为 C 程序预定义了哪些宏。操作系统是Linux。
那么如何在编译时区分 UltraSPARC、SuperSPARC、Niagara、SPARC64 等。
谢谢
gcc - 执行按位与(SPARC 汇编)时重定位溢出?
我正在尝试对寄存器执行按位与,作为位掩码以删除最高有效位(从 0 计数时恰好是第 16 位)。但是,当我尝试使用 gcc 编译我的代码时,它给了我以下错误消息:
汇编器消息:19:错误:重定位溢出
我的猜测是,这与我正在应用的位掩码的大小有关,因为当我对两个包含小数字的寄存器执行 AND 时,我不会遇到相同的错误。代码本身看起来像,
如果有人能就如何解决这个问题提供一些见解,将不胜感激。
谢谢,
坏熊猫
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
任何帮助表示赞赏。
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 时的错误消息是:“错误:此目标不支持线程本地存储”,我使用的编译器选项是
非常感谢任何帮助,因为我在周末一直在努力解决这个问题并且面临最后期限。
谢谢,查尔斯
compiler-construction - 在我的 SPARC 程序集中调试段错误的最佳方法是什么?
我正在编写一个 sparc 编译器。我的一个测试用例在从命令行正常运行时工作正常,但是当我将输出重定向到文件时会出现段错误。
我尝试过使用 GDB,但组装起来很困难。我怎样才能找出像哪条装配线导致段错误这样简单的事情?