arm64相关内容

ARM 程序集 - 访问参数与返回值?

我有一个函数原型 int Palindrome(const char *c_style_string); 在ARM v8汇编中,我相信参数存储在寄存器w0中.但是,这不也是ret输出值的寄存器吗? 如果是这样,我需要做什么才能使值不被覆盖?我在我的代码开头考虑了类似 mov w0, w1 的东西,这样每当我解析它时我都会将 c_style_string 称为 w1,然后编辑 w0 来存 ..
发布时间:2021-11-17 22:47:53 C/C++开发

在 aarch64/arm64 上使用环绕将 float 转换为 int

我试图在 x86_64 和 aarch64/arm64 上运行的应用程序之间完全匹配行为.但是,当浮点数超出可能的整数范围时,它们的不同之处在于它们如何将浮点数转换为整数. 考虑以下示例: #include #include 无效转换(浮点值){printf("uint32_t(%.2f) = %u\n", value, uint32_t(value));}int main() {演员 ( ..
发布时间:2021-11-17 22:47:47 C/C++开发

无法在我的项目中生成 x64 版本的 apk

根据将于 8 月生效的新 Play 商店政策 * 我需要确保我的应用不仅提供 32 位版本,还提供 64 位版本,但是当我尝试生成该版本时通过 NDK,我总是得到相同的库.经过反复尝试,我刚刚收到一个没有任何“lib"文件夹的apk. 我尝试在 gradle 上使用 abiFilters 设置 NDK,但没有任何更改... defaultConfig {applicationId "com ..
发布时间:2021-11-17 22:47:42 移动开发

错误:在操作数 1 处无效使用向量寄存器

我正在 64 位 Aarch64 设备上的 ARM 下学习 GCC 内联汇编器.我看到一条我不太明白的错误消息.GCC 内联汇编器中的错误消息: $ gcc -DNDEBUG -g3 -O1 -march=armv8-a+crc+crypto test.cc -o test.exe/tmp/ccCHOWrn.s:汇编程序消息:/tmp/ccCHOWrn.s:19: 错误:在操作数 1 处无效使用 ..
发布时间:2021-11-17 22:47:39 其他开发

‘setxattr’的声明必须在需要之前从模块‘Darwin.POSIX.sys.xattr’中导入

代码在 armv7 上运行良好,但针对 arm64 进行编译时会抛出此“必须在需要之前从模块‘Darwin.POSIX.sys.xattr’导入‘setxattr’声明"错误. u_int8_t b = 1;setxattr([路径文件系统表示],"com.apple.MobileBackup", &b, 1, 0, 0); 有什么帮助吗? 解决方案 我找到了解决方案.在类中包含#in ..
发布时间:2021-11-17 22:47:33 移动开发

不能保留 512MB 或更多的 CMA

我正在尝试在具有 64GB 内存的 ARM64 机器上保留 512MB 的 CMA 内存,并且在 linux 启动期间我会收到“cma:无法保留 512MiB"错误消息.保留 384MB 工作正常.如果您需要更多信息,请告诉我.我很感激任何帮助. [ESL_Start_OS]:[644L] 开始跳转Linux内核在物理 CPU 0x10000 上启动 Linux初始化 cgroup subsys ..
发布时间:2021-11-17 22:47:30 其他开发

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

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

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

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

使用 Skaffold 构建多架构 docker 镜像

我已经能够让两种很棒的技术独立工作. Skaffold BuildX 很遗憾我不知道如何同时使用它们. 我目前正在我的笔记本电脑 (amd) 上构建和测试,然后部署到运行 Kubernetes 的 Raspberri Pi 4 (arm64). 为了让它工作,我使用了类似的东西: docker buildx build --platform linux/amd64,li ..
发布时间:2021-11-17 22:47:17 其他开发

gcc/汇编程序无法识别 aarch64 gicv3 寄存器

在 Ubuntu 17.04 上,安装 aarch64-linux-gnu-as,编译以下汇编代码: # code.s_开始:x0 女士,icc_igrpen0_el1 与 aarch64-linux-gnu-as code.s 给出以下错误: as.s: 汇编消息:as.s:3: 错误:操作数 2 处的系统寄存器名称未知或丢失——`mrs x0,icc_igrpen0_el1' ..
发布时间:2021-11-17 22:47:14 其他开发

我需要做什么才能在 iOS 上使用 tgmath?

我正在编译我的第一个项目并启用 64 位支持.我遇到了一堆关于隐式转换为浮点数的编译器警告.发生这种情况是因为我正在使用 fabsf() 并将结果分配给一个 CGFloat(在新的 64 位架构上这是一个双精度值,而不是浮点值). 根据这个问题的答案: 基于 CGFloat 的数学函数? 我只需要#include 来解决这个问题,并且可能将fabsf 更改为fabs.我至少有一个 ..
发布时间:2021-11-17 22:47:08 移动开发

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

Microsoft 最近发布了他们的 ARM64 构建工具,作为 Visual Studio 15.9 的一部分.我正在完成对 ARM64 的移植.多项式乘法有问题. 我遇到的问题是,Microsoft 没有提供像 poly64_t 这样的预期数据类型,或者像 vreinterpretq_u64_p128 这样的转换.另请参阅 arm64_neon.h 在 GitHub 上. 编译失败 ..
发布时间:2021-11-17 22:47:05 其他开发

如何找到@PAGE/@PAGEOFF的偏移值

查看反汇编代码,我看到如下指令: adrp x8,l066@PAGE添加 x8,x8,l066@PAGEOFF 它们是在某处定义的偏移标签吗?以及如何找到它们的价值? 解决方案 @page 和 @pageoff 是汇编指令,用于计算链接时的偏移量.@page 取符号的位置无关的 4k 页偏移量,并使用 PC 将其转换为绝对页地址.@pageoff 给出符号所在页面的偏移量.它们一起能够 ..
发布时间:2021-11-17 22:47:02 其他开发

为 arm64 构建 OpenSSL FIPS

我找到了为 arm64 构建非 FIPS openssl 的参考,但我需要构建 FIPS 版本. https://github.com/GotoHack/iOS-openSSL-FIPS 构建 armv7 版本,但我似乎无法将它们扩展到 arm64.有没有人成功做到这一点? 我是用os-x编译的,目标是IOS 解决方案 我找到了为 arm64 构建非 FIPS openss ..
发布时间:2021-11-17 22:46:59 移动开发