源和目标具有不同的 EABI 版本

2024-04-22

我正在尝试使用 ARM 工具链编译 .so 文件。但是我不断收到这个错误-

错误:源对象的 EABI 版本为 0,但目标对象的 EABI 版本为 5

我无法更改工具链中的任何内容,因为我必须使用给定的工具链。我以前从未见过这个错误。

我使用了这个编译器标志 -
-Wl,--no-warn-mismatch
但不得不把它拿出来,因为它破坏了很多其他东西。

我使用的编译器标志是:
-fPIC -O2 -marm -march=armv7-a


Use as -meabi=5

我不会声称我完全理解它......:-)但它解决了问题。

我试图做的事情失败了:

  • 使用从 4de5434b694fc260d02610e8e7fec21b2923600a 配置的 master 编译的 GNU AS 进行汇编--target arm-elf
  • 与 Ubuntu 16.04 的链接arm-linux-gnueabihf-gcc版本5.3.1

我认为 EABI 规范中提到了该值,并对此做了一些说明http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044f/IHI0044F_aaelf.pdf http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044f/IHI0044F_aaelf.pdf

表 4-2,ARM 特定的 e_flags

这掩盖了一个 8 位版本号,即 ABI 的版本。 ELF 文件符合。此 ABI 是版本 5。值 0 表示未知 一致性。

虽然我不知道为什么会弹出 0 。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

源和目标具有不同的 EABI 版本 的相关文章

  • STM32 上的位置无关代码 - 指针

    我已成功在 STM32 上构建并运行位置无关的代码 向量表和 GOT 已修补 一切正常 但我对这样的代码有问题 double myAdd double x return x 0 1 double ptrmyAdd double myAdd
  • Android是否阉割了ARM的Jazelle技术?

    我认为 Android 中的 Java 字节码 混蛋 的理由是性能 我怀疑还有另一个原因 但是 通过更改字节码 他们难道没有让 Jazelle 等硬件加速技术变得毫无意义 从而实际上降低了 Mobile Java 平台的可用性能吗 目标平台
  • TrustZone 监控模式和 IFAR、IFSR、DFAR、DFSR

    The ARM TrustZone 监控模式 http infocenter arm com help index jsp topic com arm doc prd29 genc 009492c CACJBHJA html可以在监视模式下
  • 在 Mac OS 下设置 COBOL 编译器?

    在我的大学里 我们正在学习 COBOL 我正努力在明年上课之前抢先学习 COBOL C 和 Java 问题是 COBOL 是so旧的 很难在 mac 中获得对它的支持 我的笔记本电脑是 mac 我知道它在 Mac 上运行良好 但找到可以解释
  • 从 Visual Studio 交叉编译 ARM7 代码

    是否可以从 Visual Studio 2008 2010 Express 或 Professional 编译 ARM7 如果是这样 可以指导我如何做吗 我读过有关 Yagarto 工具链的其他帖子 这一切是如何融入图片中的 我在这个领域非
  • 对 -finstrument-functions 的未定义引用

    我正在尝试跟踪内核函数并且我正在使用 finstrument functions这样做 但我收到未定义的参考错误 如下所示 arch arm kernel elf c 9 undefined reference to cyg profile
  • PWM DMA 到整个 GPIO

    我有一个 STM32F4 我想对一个已与掩码进行 或 运算的 GPIO 端口进行 PWM 处理 所以 也许我们想要 PWM0b00100010一段时间为 200khz 但随后 10khz 后 我们现在想要 PWM0b00010001 然后
  • 我们可以优化代码来降低功耗吗?

    有没有什么技术可以优化代码以确保更低的功耗 架构是ARM 语言是C 来自 ARM 技术参考网站 ARM11 MPCore 的特性 提高能源效率的处理器 效率包括 准确的分支和子程序返回预测 减少数量 错误的指令获取和 解码操作 使用物理寻址
  • 为什么 ARM 使用两条指令来屏蔽一个值?

    对于以下功能 uint16 t swap const uint16 t value return value lt lt 8 value gt gt 8 为什么带 O2 的 ARM gcc 6 3 0 会产生以下程序集 swap unsig
  • Android 上原生的自修改代码

    我正在尝试在 Android 上制作一些自修改本机代码并在模拟器中运行它 我的示例基于 android ndk 中的 Hello JNI 示例 它看起来像这样 define NOPE LENGTH 4 typedef void FUNC v
  • 理解这部分手臂的汇编代码

    syntax unified thumb cpu cortex m4 arch armv7e m fpu fpv4 sp d16 Changes from unprivileged to privileged mode thumb func
  • 将 ZeroMQ 交叉编译为 ARM,以便在 MonoTouch iPhone 应用程序配置设置中使用

    我正在尝试在使用 MonoTouch 用 C 开发的 iPhone 应用程序中使用 ZeroMQ 库 我几乎解决了所有的问题 却在最后一道坎倒下了 我正在使用 ZeroMQ 2 1 10 和 C CLR 绑定 包装器 并在 Mac OS X
  • 如何在 ARM 架构上从 RAM 运行代码

    我正在对 ARM Cortex R4 进行编程 并且有一些二进制文件 我想从 TCRAM 执行它们 只是为了看看性能的提升是否足够好 我知道我必须编写一个函数来将二进制文件复制到 RAM 这可以通过链接器脚本来完成 并且知道二进制文件的大小
  • 在 ARM 处理器上执行存储在外部 SPI 闪存中的程序

    我有一个 ARM 处理器 能够与外部闪存芯片连接 写入芯片的是为 ARM 架构编译的程序 可供执行 我需要知道如何将这些数据从外部闪存获取到 ARM 处理器上以供执行 我可以提前运行某种复制例程 将数据复制到可执行内存空间吗 我想我可以 但
  • 小型 ARM 微控制器的 RTOS 内核之间的可量化差异 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有许多不同的 RTOS 可用于微控制器 我专门寻找支持 ARM Cortex M 处理器的 RTOS 另外 我对闭源解决方案不感兴趣 试图从网站
  • 如何使用 gcc 编译代码和 ARM Cortex A8 目标进行调用图分析?

    我对这个已经咬牙切齿了 我需要在 ARM 板上进行分析并需要查看调用图 我尝试使用 OProfile Kernel perf 和 Google 性能工具 一切正常 但不输出任何调用图信息 这使我得出结论 我没有正确编译代码 我在编译 C 代
  • C 嵌入式应用程序中 time() 函数的问题

    我在用time 在 ARM 微控制器上 处理器一到达此函数就会重新启动 奇怪的是 当我处于调试模式时 代码运行得很好 但一旦我想将其应用到独立模式 我就会遇到重置 我是否忽略了什么 这个功能有替代品吗 代码部分是这样的 include
  • 尝试使用 qemu-arm 运行arm二进制文件时如何解决“加载共享库时出错”?

    我正在运行 Linux Mint 14 并安装了 qemu qemu user 和 gnueabi 工具链 我编译了 test carm linux gnueabi gcc test c o test 当我尝试跑步时qemu arm usr
  • 为什么 i2c_smbus 函数不可用? (I2C——嵌入式Linux)

    有很多参考使用i2c smbus 开发嵌入式 Linux 软件时在 I2C 总线上进行通信的函数 什么时候i2c smbus函数如i2c smbus read word data在软件项目中引用了 ARM8 处理器错误 例如 i2c smb
  • 在 Intel 机器上构建 Apple Silicon 二进制文件

    如何在 macOS 11 Intel 上编译 C 项目以在 Silicon 上运行 我当前的构建脚本很简单 configure make sudo make install 我尝试过使用 host and target标志与aarch64

随机推荐

  • 使用 Filemerge 如何查看下部窗格。有结果的那个?

    您知道 您进行了全新安装 底部的窗格就消失了 我喜欢那个窗格 看到那个小点 单击它 您可以将窗口拉入视图 现在生活好多了
  • UI-路由器和解析,控制器中的未知提供者

    我在 UI Router state 调用中使用解析 在我的控制器中 我可以毫无问题地访问这些值 但它会抛出错误 如下所示 injector unpr p0 ctrlOptionsProvider 20 3C trlOptions 以下代码
  • pyplot/matplotlib 条形图,填充颜色取决于值

    我想生产在Python中使用 matplotlib pyplot 根据值进行填充的条形图 图例颜色条 同时将模块依赖性保持在最低限度 有没有比以下更简单的事情 import matplotlib pyplot as plt def colo
  • 如何检测两条线段相交的位置? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 作为整数的空值[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 编辑问题以包括期望的行为 特定问题或错误以及重现问题所需的最短代码 help minimal reproducible example 这
  • 为使用 Hls.js 管理的 HLS 视频构建音量计

    我正在使用 Hls js 将视频管理到我的 HTML 页面中 我需要构建一个音量计来告知用户视频的音频级别 因为我需要保留video muted true 我想知道是否有任何方法可以使用 Hls js 从流中提取音频信息并用这些信息构建音量
  • 我可以直接从命令行运行 vbscript 命令(即没有 vbs 文件)吗?

    在Python中你没有义务使用文件 你可以指定 c 并通过命令行上的字符串将 Python 命令提供给 Python 解释器 我可以用 vbscript 达到相同的结果吗 我见过需要您使用批处理脚本的解决方案 但是如果我所在的系统具有零写入
  • existingObjectWithID 与 NPrivateQueueConcurrencyType 发生死锁

    我遇到了冻结 死锁 NSPrivateQueueConcurrencyType并发类型而不是NSMainQueueConcurrencyType 我的上下文初始化 managedObjectContext NSManagedObjectCo
  • 在 Windows 命令提示符中使用通配符

    我想知道是否可以在 Windows 命令提示符中使用通配符 例如 如果我想查看以 docx 结尾的目录中的所有文件 在 Linux 上我会输入以下内容ls docx Windows下有类似的工具吗 谢谢 是的你可以 e g 星号字符 可以代
  • 套接字通信中send()和recv()的行为

    以下是设置 Server Client accept connect v send msg1 gt v v recv lt send v v send msg2 gt recv v v close 这是我的问题 1 客户端在关闭之前其实就收
  • 如何从 BHO 将图像嵌入网页?

    我有一个用 C 编写的 BHO 库 mybho dll 我嵌入了一个资源文件 image png 我想在某些页面上显示此图像 根据我读到的内容 它应该看起来像这样 img src 但 Internet Explorer 找不到该图像 我尝试
  • 如何在 Laravel 中创建模型?

    我在正确理解 Laravel 模型时遇到一些困难 我们以框架提供的默认模型为例 这是模型的全部内容 User php
  • python 中的 Coinbase APIerror(id = )

    我想在我的 coinbase 账户之间转账 我正在存储我所有帐户的 IDclient get accounts data id 并使用代码进行传输 tx client transfer money 2bbf394c 193b 5b2a 91
  • Azure DevOps 多个自定义条件

    我在 azure devops 中有 2 个变量 Var1 A B C Var2 1 2 我需要在以下条件下运行任务 Var1 A B C Var2 1 2 Var1 A Var2 1 来自我只能看到更简单的自定义条件 like and s
  • 如何为 Azure 上的 Node.js Api 应用程序启用 BLOB 日志记录?

    我在 azure 上有一个 node js api 应用程序 我用bunyan将每个请求记录到sdtout 如何保存和读取日志文件 我启用了 BLOB 日志记录 我的存储中唯一显示的是一堆 csv 文件 这是一个例子 date level
  • 有没有办法在模拟器中将 ro.kernel.qemu 设置为 0?

    我替换了修改后的 build prop 其中包含ro kernel qemu 0用 yaffey 到 system img 但它不起作用 当模拟器重新启动时 ro kernel qemu 1仍然存在于输出中adb shell getprop
  • 如何使用WinAPI识别光驱中的光盘类型?

    我正在编写一个适用于音频 CD 和混合 CD 的应用程序 我想要一种方法来确定应用程序使用的驱动器中当前是否存在音频或混合类型 至少有一个音轨 光盘 到目前为止 我能够通过以下方式识别该驱动器是CD ROMGetDriveType 然而 事
  • Html:对于 Select multiple,仅提交一个值,但 .val() 返回两个值的数组

    渲染页面时 val 多重选择的设置为单个值 例如 my select box val 1 然后用户在多选框中选择附加值 提交表单时 仅提交新选择的值 而不提交先前设置的值 而在 Firefox 中调试时 val 函数返回一个包含两个值的数组
  • Vuejs $emit 不会在回调时触发

    在下面的代码中 export default props note methods remove NoteRepo remove this note err gt if err console log Should Fire this em
  • 源和目标具有不同的 EABI 版本

    我正在尝试使用 ARM 工具链编译 so 文件 但是我不断收到这个错误 错误 源对象的 EABI 版本为 0 但目标对象的 EABI 版本为 5 我无法更改工具链中的任何内容 因为我必须使用给定的工具链 我以前从未见过这个错误 我使用了这个