问题标签 [powerpc]

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 投票
1 回答
1961 浏览

gcc - 使用 PPC 汇编程序时出现“错误:操作数超出范围”

我在使用 cygwin 的 Windows 中使用 'powerpc-eabi' 作为 TARGET 的 bulit gcc 交叉编译器/汇编器/链接器。组装时,我收到以下错误....

但是,在该行号中,有以下指令:

我正在使用以下命令进行组装:

我想知道为什么会出现上述错误。

请朝这个方向提供帮助。

0 投票
1 回答
827 浏览

java - '无法启动 Java JAR 文件“NetC.jar”。'

我正在尝试.jar file为我打开一个,PPC但我不断收到错误消息

无法启动 Java JAR 文件“NetC.jar”。

我也下载了Java 5

我什至去了“ Java Preferences”并确保它被设置为Java 5。我也重新启动了PPC

以下是我尝试在终端中运行此命令时遇到的错误:

salvador-castros-power-mac-g4:netc-0.2.0 becky$ java -jar NetC.jar 线程“main”中的异常 java.lang.UnsupportedClassVersionError:java.lang.ClassLoader.defineClass2 的 .class 文件中的错误版本号(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:775) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:160) at java.net.URLClassLoader.defineClass(URLClassLoader.java:254) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:195) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader。 findClass(URLClassLoader.java:188) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:317) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:252) 在 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375) salvador-castros-power-mac-g4:netc-0.2.0 becky$

0 投票
1 回答
1315 浏览

macos - xcode - 使用 Apple LLVM 编译器 3.0 为 PowerPC CPU 进行编译

我正在开发其他人的应用程序,到目前为止,他已经在 XCode 4 中构建了它。XCode 4 已经取消了对 PowerPC 架构的支持,但我们仍然希望为我们的一些用户支持 PowerPC。

在 SO 上遵循了本教程,告诉我如何恢复对 XCode 4 的 ppc 兼容性,但是,这是针对 GCC (4.2) 编译器的,它在编译代码时会引发很多警告和一些错误。代码围绕 Apple 的 LLVM 3.0 进行了优化。

我的问题:

  • 是否可以使用 Apple LLVM 编译器 3.0 进行 Power PC 部署?
  • 怎么做呢?
  • 为了在编译时获得 PPC 兼容性,我需要设置哪些设置变量?

谢谢!

0 投票
6 回答
4494 浏览

c++ - 中断处理程序中的浮点操作(PowerPC、VxWorks)

我还没有找到任何资源可以准确地回答我在我正在开发的软件中看到的问题,所以我会在这里问天才!

首先,我在 PowerPC 处理器上运行 VxWorks。

在尝试调试一个单独的问题时,我尝试在中断处理例程中抛出一些快速而肮脏的调试代码。它涉及一个双精度浮点运算来存储一个感兴趣的值(即,自从我看到最后一次中断进来以来已经过了多长时间),我稍后在我正在运行的线程中的处理程序之外使用它。我没有看到这方面的问题(当然,这需要更长的时间,但从时间上讲,我很满意;中断不会太快出现)但是 VxWorks 肯定不喜欢它。它在到达该代码时始终崩溃,这是重新启动系统的严重崩溃之一。我花了一些时间才找到作为问题根源的双重操作,我意识到它甚至不是双重“操作”,甚至从中断中调用的例程中返回一个常量双重失败也惨遭失败。

在 PowerPC(或一般的其他架构)上,在中断处理程序中执行浮点操作并在中断处理程序调用的函数中返回浮点(或其他类型)值通常存在问题?我不知道为什么这会导致程序崩溃。

(解决方法是将自上次中断以来的“滴答声”转换为自上次中断以来的“时间”,直到代码超出处理程序,因为它似乎可以很好地处理长整数操作。)

0 投票
2 回答
1741 浏览

kernel - 如何在 AIX/powerpc 上实现原子分配?

我正在将内核扩展移植到多处理器 PowerPC 上的 32/64 位 AIX,用 C 编写。我只需要原子读取操作和原子写入操作(我不需要获取和添加,比较-and-swap 等)只是为了澄清一下:对我来说,“原子性”不仅意味着“没有交错”,还意味着“跨多个核心的可见性”。这些操作对指针进行操作,因此对“int”变量的操作对我来说毫无用处。

如果我声明变量“volatile”,C 标准说该变量可以被未知因素修改,因此不受优化。

从我读到的,似乎常规的读写应该是非交错的,而且linux 内核源似乎也同意。它说:

stw是“存储字”,据说是原子的,但我不知道“%U0%X0”是什么意思。我不明白这个汇编指令如何强加可见性。当我编译我的内核扩展时,'std' 用于我想要的分配,但从我读到的内容,它对于 64 位机器也应该是原子的。我对 PowerPC 及其指令集的细节知之甚少,但是我在编译文件的汇编列表中没有找到任何内存屏障指令(“sync”或“eieio”)。

内核提供了 fetch_and_addlp() 服务,可用于实现原子读取(v = fetch_and_addlp(&x, 0)例如)。

所以我的问题是:

  1. 声明变量'volatile'是否足以实现可见性和无交错意义上的读写原子性?

  2. 如果 1 的答案是“否”,那么这种原子性是如何实现的?

  3. Linux PowerPC 原子实现中的“%U0%X0”是什么意思?

0 投票
0 回答
462 浏览

assembly - VxWorks 5.4 上的 Hello World、MPC 8280 (powerPC) 除外

我正在尝试打印 Hello World!用上面的代码。但是代码在“sc”之后的指令中给了我一个例外,即标有“---->”的行。我正在尝试在 vxWorks-5.4 上的处理器 MPC 8280 (PowerPC) 上执行此操作。在咨询一些文档时。在互联网上找到,我知道sc是一个例外。有人可以建议我做什么来完成这项工作。只是为了确认起见,x86 中的类似代码在它的 int 0x80 处完美运行,它完成了 sc 的工作并触发了系统调用,但由于某种原因,它似乎不适用于 PPC,here。

这是我第一次尝试使用汇编代码。

0 投票
1 回答
1836 浏览

embedded - 使用 printf 打印 float/double 会使程序崩溃

我正在为PowerPc进行系统调用实现。我已经测试了一些 gcc 函数,它们似乎都可以工作(例如 sqrt sin cos pow printf malloc ...)

我最近意识到printf存在问题。只要我打印一些整数/字符,它就可以正常工作,但是当我尝试 printf %f/lf打印浮点/双倍时,程序崩溃了。(它似乎在不应该在的地方执行)

我检查了makefile,它使用:

在制作程序时,我可以看到许多nof(无浮点)库被链接。

我也知道我在堆栈/堆中有足够的空间,所以这应该不是问题。 打印浮点数时printf应该崩溃还有一个原因吗?

0 投票
3 回答
214 浏览

c++ - 什么是基于 PPC 的好的 >MACHINE< 用于分析有序处理器的代码

我知道较旧的 Mac 中装有 PPC 处理器,这是完美的,但哪些特定型号适合将 linux 发行版放入其中?我已经有 10 多年没有使用过 Mac 了,所以我不知道该选择哪一个。特别是,我问那些接受 Linux 的人,因为我相信 Apple 要求你付费在他们的机器上进行开发,或者是否可以在 mac 上免费使用 c++ 和 gcc 和 LLVM?

我需要能够在有序 RISC 处理器上分析代码,PPC 似乎是最好的起点,但还有哪些其他 CPU 提供类似的编码体验?也就是说,在指令集大大减少的情况下,在浮点/整数/向量表示之间切换时会出现分支、微码指令和加载命中存储问题。

0 投票
3 回答
16851 浏览

c - 我如何知道 ELF 目标文件中的调试信息类型?

我有一个 ELF 目标文件。我想知道它包含哪种类型的调试信息。它是使用用于 PPC 架构的 Diab 编译器(C 源代码)编译的。我很确定它是用调试符号构建的。

我已经尝试提取调试信息,dwarfdump但我不工作所以我猜调试信息不​​是 DWARF 类型的。

使用 objdump 显示调试信息是空的。

即使 ELF 文件有名为和的部分.debug_sfnames,这个 ELF 文件是否不包含调试信息?还是调试信息以无法处理的格式存储?.debug_srcinfo.debug.srcinfoobjdump

0 投票
1 回答
413 浏览

assembly - 使用位旋转了解 PowerPC 汇编程序功能

我试图移植一个遗留应用程序,该应用程序具有一些基本的位移来解密缓冲区,但是我迷失了这个 powerpc 代码 - 我尽力理解它并添加了注释并创建了一个伪 c 函数但是显然有些不对劲。

这是 PPC 函数,它有一个参数,我认为缓冲区(参数是:void *,int)http://pastebin.com/RNRAWCpi

就我的伪 c 而言,这是先进的:

比如为什么crypt被拆分成两个寄存器r29 & r30

任何帮助将不胜感激。