首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >glibc: elf文件操作系统ABI无效

问glibc: elf文件操作系统ABI无效
EN

Stack Overflow用户
提问于 2011-10-04 20:23:30
回答 4查看 49.2K关注 0票数 22

下载并编译glibc-2.13。当我尝试运行一个执行malloc()的示例C程序时。我得到以下错误elf file OS ABI invalid

任何人可以传递我的任何指针来帮助解决这个issue.Please注意,我的内核版本是linux-2.6.35.9

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-05 00:52:30

这不是你的内核版本的问题。

您系统上的加载器不支持新的Linux ABI。直到最近,Linux ELF二进制文件还在使用System V ABI。最近,为了支持STT_GNU_IFUNC,添加了Linux ABI。您必须更新您的system C库,使其具有支持STT_GNU_IFUNC的加载器,然后它还将识别Linux ABI类型的ELF对象。

如果您关心,请参阅Dave Miller's blog entry on STT_GNU_IFUNC for Sparc (archived)以了解STT_GNU_IFUNC的功能。

票数 34
EN

Stack Overflow用户

发布于 2018-02-07 09:39:24

如果你从一个较新的系统开始使用加载器,你也许能够使用它来工作。但是,无论您的程序运行到哪里,您都必须随身携带加载器。您可以编译您的程序以使用here解释的加载器,也可以编译您的程序并在以后使用patchelf对其进行修补,方式类似于我提到的here。通过从其他地方复制ld-2.15.so,我可以在具有ld-2.5.so的Linux2.6.18(比您的旧)上运行一个程序,该程序会给我OS ABI invalid错误。

注意:不要重写你的系统ld*.so或ld-linux。;-/

票数 5
EN

Stack Overflow用户

发布于 2012-01-25 19:16:42

您的glibc可能是使用--enable-multiarch标志构建的,该标志强制使用ifunc和新的LINUX ABI

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7647818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档