Bukan versi kernel Anda yang menjadi masalah.
Loader di sistem Anda tidak mendukung Linux
yang baru ABI. Sampai baru-baru ini, binari Linux ELF menggunakan System V
ABI. Baru-baru ini, untuk mendukung STT_GNU_IFUNC, Linux
ABI telah ditambahkan. Anda harus memperbarui sistem Anda Pustaka C untuk memiliki loader yang mendukung STT_GNU_IFUNC, dan kemudian juga akan mengenali objek ELF dengan Linux
Jenis ABI.
Lihat entri blog Dave Miller di STT_GNU_IFUNC untuk Sparc (diarsipkan) untuk mendapatkan pemahaman tentang apa yang dilakukan STT_GNU_IFUNC, jika Anda peduli.
Jika Anda mendapatkan loader dari sistem yang lebih baru, Anda mungkin dapat membuatnya berfungsi menggunakan itu. Tapi Anda harus membawa loader kemanapun program Anda pergi. Anda dapat mengkompilasi program Anda untuk menggunakan loader tersebut seperti yang dijelaskan di sini, atau mengkompilasi program Anda dan menambalnya nanti menggunakan patchelf, dengan cara yang mirip dengan yang saya sebutkan di sini. Saya dapat menjalankan program yang memberi saya OS ABI invalid
kesalahan pada linux 2.6.18 (lebih lama dari milik Anda) yang memiliki ld-2.5.so, dengan menyalin ld-2.15.so dari tempat lain.
CATATAN:jangan JANGAN timpa sistem Anda ld*.so atau ld-linux.;-/
Mungkin saja glibc Anda dibuat dengan --enable-multiarch
bendera yang dipaksakan menggunakan ifunc dan new LINUX ABI