1. ホーム
  2. linux

[解決済み] glibc: elfファイルのOS ABIが無効です。

2022-02-01 12:21:32

質問

glibc-2.13をダウンロードし、コンパイルしたのですが、malloc()を行うサンプルCプログラムを実行しようとしたところ、malloc()の値が大きくなってしまいました。以下のようなエラーが発生します。 elf file OS ABI invalid

どなたか、この問題を解決するのに役立つポインタを教えてください。

解決方法を教えてください。

カーネルのバージョンに問題があるわけではありません。

あなたのシステムのローダーは、新しい Linux ABIです。 比較的最近まで、LinuxのELFバイナリは System V ABIです。 最近、STT_GNU_IFUNCをサポートするために Linux ABIが追加されました。 を更新しなければならないでしょう。 システム CライブラリのローダーがSTT_GNU_IFUNCをサポートするようにすれば、ELFオブジェクトを認識する際にも Linux ABIタイプ。

参照 Dave Miller の Sparc 用 STT_GNU_IFUNC に関するブログエントリ(アーカイブ) を使えば、STT_GNU_IFUNC が何をするのか理解できますので、気になる方はどうぞ。