问题标签 [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 回答
814 浏览

linker - 我在哪里可以找到 Sun Solaris Studios 12.2 中的链接器 (ld)?

目前,我将 SPARC 机器上预安装的链接器用于链接目的,位于以下目录中:

我想用 Sun Studios Compiler 12.2 编译我的应用程序,所以我也想使用这个包附带的链接器。但是,在检查 Sun Studios 的 bin 目录时,我只能找到 ac 编译器(cc),但没有 ld(链接器)。任何人都知道它去了哪里以及如何调用它?

非常感谢,迈克

0 投票
3 回答
4653 浏览

c - “未定义符号_memset”

我问了一个类似的问题,但我有一些更新让我很困惑。本质上,我想用链接器链接多个目标文件,如下所示:

我收到以下错误:

有趣的是,在 reconf.c 中没有引用 memset,我也对整个目录进行了 grep,但在任何其他文件中也没有对 _memset 的引用。因此,我想知道为什么我从链接器收到此错误消息,尽管在我的源代码中没有实际使用 _memset。有人知道这里会发生什么吗?

非常感谢,这个错误正在驱使我们思考!

编辑:

我尝试将路径添加到 memset 库并将其与 -lc 链接并以详细模式运行:

然后我收到以下错误: ld: fatal: library -lc: not found ld: fatal: 文件处理错误。没有输出写入 q

这虽然 libc.so 显然在 /usr/lib ...

令人困惑

编辑二:

进行更多研究后,似乎在 Solaris 10 上静态链接消失了,您可以在此处阅读:

http://blogs.oracle.com/rie/entry/static_linking_where_did_it

可能这是我的问题。有谁知道如何重写我的链接器命令以解决此问题?

非常感谢!

0 投票
0 回答
99 浏览

linux-kernel - OpenBoot 客户端程序加载地址和

在浏览网页并寻找有关 OpenBoot 和 SPARCv9 处理器的资料时,我看到 OpenBoot 在 0x4000[1] 处加载了任何客户端程序。为什么使用这个地址。另外,如果我尝试在实际的 sparc 机器上进行转储,我会在前 8kb 左右的内存(0x0 到 0x2000)中得到快速数据访问 MMU 未命中,所以我想这应该是一些内存映射 IO 左右,但是在(0x2000 到 0x4000) 是零填充的。所以我想答案不可能是 OPB 的存储位置(实际上在这个机器上它位于 0xf0055310)

虽然我还在讨论这个问题。为什么 SPARC 的 Linux 内核在之前被 SILO 从 0x4000 重定位到 0x40004000 之后,又将自己重定位到另一个地址?除了加载 Linux/任何其他客户端程序时的 SILO 和 OBP 输出之外,我在任何地方都没有找到这个。

[1] http://wiki.osdev.org/UltraSPARC

0 投票
1 回答
1121 浏览

assembly - 编译简单 SPARC ASM 数学代码时出错

编写 SPARC asm 代码来评估硬编码语句,但我收到一个我不理解的错误。我到处搜索,虽然它似乎在一些错误报告中出现了很多,但我没有为程序员找到真正的线索。是的,这是家庭作业,是的,我还没有完成,是的,我到处都有分店延误。我会自己去找他们,但我需要知道错误是什么。这个错误并没有告诉我任何有用的信息,而且我所拥有的书籍也没有任何用处。

我在这方面真的很新,所以任何帮助将不胜感激。


然后当我尝试定义宏并编译时,我得到:

cs32107@matrix:~$ m4 polynomialv2.m > polynomial.s
cs32107@matrix:~$ gcc -g polynomial.s -o polynomial
ld:致命:重定位错误:R_SPARC_32:文件 /var/tmp//ccVOrnx2.o:符号:偏移量 0xfb5d11dd 未对齐 ld:致命:重定位错误:R_SPARC_32:文件 /var/tmp//ccVOrnx2.o:符号:偏移量 0xfb5d120f 未对齐 ld:致命:重定位错误:R_SPARC_32:文件 /var/tmp//ccVOrnx2.o:符号:偏移量 0xfb5d1215 未对齐 ld:致命:重定位错误:R_SPARC_32:文件 /var/tmp// ccVOrnx2.o:符号:偏移量 0xfb5d1219 未对齐 ld:致命:重定位错误:R_SPARC_32:文件 /var/tmp//ccVOrnx2.o:符号:偏移量 0xfb5d121d 未对齐 ld:致命:重定位错误:R_SPARC_32:文件/var/tmp//ccVOrnx2.o:符号:偏移量 0xfb5d1266 未对齐 collect2:ld 返回 1 退出状态 cs32107@matrix:~$

0 投票
3 回答
954 浏览

ruby-on-rails - 任何适用于 SPARC Solaris 10 的 rails 的 javascript 运行时?

我正在尝试让 rails 在 solaris 10 机器 (SPARC) 上运行。我已经安装了 ruby​​ 和 rails 并且能够创建一个新项目。当我尝试启动铁路服务器时,我得到:

我以前在我的linux机器上遇到过这个,所以我去安装了rubyracer,它不起作用,然后尝试了node.js,它也不起作用。这些似乎不支持 SPARC。有人知道可以在 SPARC 机器上运行的 javascript 运行时吗?

0 投票
2 回答
5395 浏览

assembly - 编写一个返回数字是否为奇数的非常基本的 SPARC 汇编程序时遇到问题

我正在编写一个名为 isOdd 的小型汇编程序,顾名思义,如果传递的整数是奇数,则通过从 % 操作返回 1 来返回。

到目前为止,这是我的代码:

但是,我没有得到好的输出;事实上,它似乎只是返回我传递给 num 的任何值,而不是实际执行模数运算。

谷歌并没有证明对这样一个基本问题有帮助。这是我的第一个汇编代码,所以我对“寄存器”的概念非常陌生,我认为将它们混在一起是我的错误所在。

在此先感谢您的帮助!

0 投票
2 回答
2543 浏览

algorithm - 如何在 SPARC 程序集中计算除法余数?

这是计算两个正整数相除的伪代码。
HR寄存器保存余数,LR保存被除数。(并最终保存root)

但是我认为这个算法有一些问题。
因为这个算法有时不能恢复减法。(除法是减法的延续。)

例如6 / 3 (0110 / 011)
这个算法再减去一次-3。(这种情况在我们手动计算这个除法时从来没有出现过)
所以我认为这个算法有一些问题。
你不同意我的看法吗?如何在汇编中计算除法余数?

0 投票
3 回答
214 浏览

java - 翻译简单的 C 代码

所以我正在为我的计算机科学课程做作业,我们必须采用用 C 语言编写的算法并在汇编中复制它 (SPARC)。我的问题是我对 C 代码知之甚少,因为我专攻 java。谁能帮我看看这段代码并给我它的Java等价物?如果你们对直接将它用于 SPARC 有任何提示,我也对这些想法持开放态度。谢谢!

0 投票
1 回答
2719 浏览

assembly - 简单 SPARC 汇编 printf 代码(打印堆栈变量)

预期值为
5
7
12

但结果值为
5
5
12

我的代码有什么问题?
提前致谢

0 投票
1 回答
1156 浏览

gcc - 为什么在使用 GCC(2 行,cmp 和 bl 指令)编译 SPARC 程序集时会出现“非法操作数”错误?

GCC 抱怨说:

A3.s:汇编器消息:A3.s:32:错误:非法操作数 A3.s:33:错误:非法操作数

有问题的行(斜体)和周围的代码是:

我是 SPARC 组装的初学者,我没有解决这个问题。任何人都可以看到问题吗?