arm64相关内容

aarch64;负载获取独占vs负载独占

LDAXR &和有什么区别?AArch64指令集中的 LDXR 条指令? 从参考手册中看,它们看起来完全一样("acquire"一词除外): LDAXR -加载获取专用寄存器:将字从基址寻址的存储器加载到Wt.将物理地址记录为独占访问. LDXR -加载专用寄存器:将一个字从基址寻址的存储器加载到Wt.将物理地址记录为独占访问. 谢谢 解决方案 最简单的形式是 LD ..
发布时间:2021-04-09 19:26:01 其他开发

在aarch64上运行32位elf

我已经在qemu 64位ARM上安装了Debian(阅读此帖子) 解决方案 如链接文章所建议,这要求在内核中启用CONFIG_COMPAT.另一方面,如果您的内核没有它,我会感到惊讶-我从该教程中学到的Debian 4.9.0-4内核确实设置了CONFIG_COMPAT.您可以通过查看客户机的/boot/中的配置文件来检查内核是否启用了它.如果缺少它,那么您需要一个新内核,而其他任何方法都 ..
发布时间:2021-04-09 19:25:41 其他开发

ARM AArch64堆栈管理

ARMv8不能具有64位堆栈吗?我知道AArch64上没有推入和弹出指令,所以堆栈管理是否留给AArch32进行参数传递等等?我们如何传递48位地址?总体而言,我很困惑在AArch64中进行操作时函数调用将如何工作. 解决方案 与32位 * 相似,SP是 stp xn,xm,[sp,#-16]! 请注意,为了维护,通常应使用 stp / ldp 代替 str / ldr 在堆栈上进 ..
发布时间:2021-04-09 19:24:03 其他开发

ARM64计算机上的Cassandra启动失败(java.lang.NoClassDefFoundError:无法初始化com.sun.jna.Native类)

当我尝试在运行64位oracle JDK的ARM64计算机上启动cassandra 3.9和3.7时.但是它无法从没有找到类定义错误开始. JNA似乎有问题. 但是同样可以在ARM32机器上正常运行. 下面是cassandra的启动日志:- pi @ DietPi:〜/cassandra/apache-cassandra-3.9/conf $ ../bin/cassandra - ..
发布时间:2021-02-12 19:20:19 Java开发

如何使用ARM64执行多项式乘法?

Microsoft最近作为Visual Studio 15.9的一部分发布了他们的ARM64构建工具.我正在准备移植到ARM64.我在多项式乘法方面遇到了麻烦. 我遇到的问题是,Microsoft不提供预期的数据类型(例如poly64_t)或类型转换(例如vreinterpretq_u64_p128).另请参见 arm64_neon.h 在GitHub上. 无法编译: #incl ..
发布时间:2020-11-30 04:52:14 其他开发

为什么/如何在此签名溢出测试中gcc编译未定义的行为,以便它可以在x86上运行但不能在ARM64上运行?

我在研究CSAPP时,在断言测试过程中遇到一个奇怪的问题时得到了一个奇怪的结果. 我不确定从什么开始这个问题,所以让我先获取代码(文件名在注释中可见): // File: 2.30.c // Author: iBug int tadd_ok(int x, int y) { if ((x ^ y) >> 31) return 1; // A positive ..
发布时间:2020-11-12 23:49:54 其他开发

ARM汇编-访问参数vs返回值?

我有一个函数原型 int Palindrome(const char * c_style_string); 在ARM v8程序集中,我相信该参数存储在寄存器w0中。但是,这不是 ret 输出值的寄存器吗? 如果是,我该怎么办?需要这样做以确保值不会被覆盖吗?我在代码的开头就想到了 mov w0,w1 这样的东西,以便每次解析它时都将c_style_string称为w1,然后编辑w0以存 ..
发布时间:2020-10-11 00:26:11 C/C++开发

aarch64中的零寄存器'zr'是否基本接地?

最近开始弄乱AArch64程序集,我注意到它有一个严格分配给 zero 的寄存器,而(大多数)其他体系结构中,您只是 xor var,var 。 我正在阅读的有关 zr 的站点将其解释为参考点为零,这听起来很像我在直流电子设备中定义接地的方式。而且由于业余爱好者使用ARM,因此在代码中将电路中的接地零归类为零对我来说很有意义。 我敢肯定它比这复杂得多,但这是一个安全的类比吗?与使用其他 ..
发布时间:2020-10-11 00:24:33 其他开发

我们是否需要为两个“ armv7”编译iOS App?和“ arm64”如果我的部署目标是8.0?

“我的应用”支持iOS8.0及更高版本。而且我知道从iOS7起,它的arm64位体系结构。在那种情况下,我们是否需要为“ armv7”和“ arm64”切片同时编译二进制文件? 如果仅针对arm64进行编译,则可以减小App的大小。 请帮忙。 解决方案 此处,您会发现所有iPhone和Mac CPU架构的解释都非常容易理解。 当我决定从支持的架构中删除armv7架构时,它 ..
发布时间:2020-10-11 00:15:07 移动开发

具有动态库的32位应用程序在64位设备上崩溃

我正面临以下情况: 32位设备+应用程序armv7 +动态库armv7 arm64 =​​ 工作 64位设备+应用程序armv7 +动态库armv7 arm64 =​​ 不起作用 不起作用-应用程序加载时崩溃,出现以下错误: dyld错误消息库未加载原因找不到合适的图像 有什么解释吗? 解决方案 说明:在64位设备上加载的32位二进制文​​件无法执行此操作,因 ..
发布时间:2020-10-11 00:14:36 移动开发

使用交叉编译器时如何确定要配置的主机值

一般问题:如果使用交叉编译器,如何确定运行configure时应提供的"--host"选项的值? 特定:我正在为arm64 arch使用交叉编译器.正确使用的"--host"值是什么? 解决方案 如果使用交叉编译器,如何确定运行./configure时应提供的--host选项的值? 在讨论工具链创建时,必须区分三台机器 用于构建工具链的构建机器. 主机,将在其中执行 ..
发布时间:2020-09-14 05:26:03 其他开发

iOS ARM64系统调用

我正在学习有关Shellcode的更多信息,并在iOS设备上的arm64中进行系统调用.我正在测试的设备是iPhone 6S. 我从此链接中获得了系统调用列表(我从这里了解到x8用于放置arm64的系统调用号(我发现用于传递arm64参数的各种寄存器应与arm相同,因此我引用了此链接(我用Xcode编写了内联汇编,这里有一些代码片段 //exit syscall __asm__ vol ..
发布时间:2020-09-12 22:15:53 移动开发

ARMv8浮点输出内联汇编

要加两个整数,我写: int sum; asm volatile("add %0, x3, x4" : "=r"(sum) : :); 如何用两个浮子来做到这一点? 我试过了: float sum; asm volatile("fadd %0, s3, s4" : "=r"(sum) : :); 但这给我一个错误: 错误:操作数1应该是SIMD向量寄存器-'fadd x0 ..
发布时间:2020-09-07 03:02:30 其他开发