下载并编译 glibc-2.13。当我尝试运行一个执行 malloc() 的示例 C 程序时。我收到以下错误
elf file OS ABI invalid
任何人都可以通过我的任何指针来帮助解决这个问题。请注意我的内核版本是 linux-2.6.35.9
下载并编译 glibc-2.13。当我尝试运行一个执行 malloc() 的示例 C 程序时。我收到以下错误
elf file OS ABI invalid
任何人都可以通过我的任何指针来帮助解决这个问题。请注意我的内核版本是 linux-2.6.35.9
问题不是你的内核版本。
您系统上的加载程序不支持新的Linux
ABI。直到最近,Linux ELF 二进制文件才使用System V
ABI。最近,为了支持 STT_GNU_IFUNC,Linux
添加了 ABI。您必须更新您的系统C 库以具有支持 STT_GNU_IFUNC 的加载器,然后它还将识别具有Linux
ABI 类型的 ELF 对象。
请参阅Dave Miller 关于 STT_GNU_IFUNC for Sparc 的博客条目(已存档),了解 STT_GNU_IFUNC 的作用,如果您关心的话。
您的 glibc 可能是--enable-multiarch
使用强制使用 ifunc 和新的 LINUX ABI 的标志构建的
据我所知,这--enable-multiarch
是默认设置,您应该通过设置禁用它--enable-multiarch=no
。