GNU/Linux >> Tutoriales Linux >  >> Linux

glibc:archivo elf OS ABI inválido

No es la versión de su kernel el problema.

El cargador de su sistema no es compatible con el nuevo Linux ABI. Hasta hace relativamente poco tiempo, los binarios ELF de Linux usaban el System V ABI. Recientemente, en apoyo de STT_GNU_IFUNC, el Linux Se agregó ABI. Tendrías que actualizar tu sistema Biblioteca C para tener un cargador que admita STT_GNU_IFUNC, y luego también reconocerá objetos ELF con el Linux tipo ABI.

Consulte la entrada de blog de Dave Miller sobre STT_GNU_IFUNC para Sparc (archivada) para comprender qué hace STT_GNU_IFUNC, si le interesa.


Si tiene en sus manos el cargador de un sistema más nuevo, es posible que pueda hacer que funcione con eso. Pero tendrá que llevar el cargador donde quiera que vaya su programa. Puede compilar su programa para usar ese cargador como se explica aquí, o compilar su programa y parchearlo más tarde usando patchelf, de una manera similar a la que menciono aquí. Pude ejecutar un programa que me estaba dando el OS ABI invalid error en un linux 2.6.18 (más antiguo que el suyo) que tenía ld-2.5.so, copiando un ld-2.15.so de otro lugar.

NOTA:NO sobrescriba su sistema ld*.so o ld-linux.;-/


Es posible que su glibc haya sido construida con --enable-multiarch bandera que forzó el uso de ifunc y el nuevo LINUX ABI


Linux
  1. Cómo mover un archivo en Linux

  2. Conceptos básicos de los permisos de archivos de Linux

  3. Linux – ¿Todo es un archivo?

  4. ¿Cómo cambiar el nombre de un archivo en Linux?

  5. Ejecutar un archivo binario plano bajo Linux

Comando Gunzip en Linux

Comando Stat en Linux

¿Qué es umask en Linux?

Cómo vincular un archivo en Linux

Extraiga el archivo tar.gz en Linux

¿Qué es el archivo .bashrc en Linux?