compilé una extensión de PHP en Fedora Core 12, pero cuando envío a otra persona mediante CentOS que sale el error: "OS archivo ELF ABI no válido"¿Cómo compilo en Linux para compartir con todas las distribuciones?
no estoy seguro de lo que hace que este archivo se ejecuta proporciona la siguiente Info: ELF 64-bits LSB objeto compartido, AMD x86-64, versión 1 (GNU/Linux), no despojado
Una extensión que se carga bien ofrece las siguientes opciones del archivo: ELF 64-bits LSB objeto compartido, AMD x86-64, versión 1 (SYSV), no eliminado
Parece que necesito generar un archivo de tipo SYSV para algunas distribuciones, en lugar de un GNU/LINUX archivo, no tengo idea de cómo. ¿Alguna sugerencia?
También debería estar enlazando estáticamente?
¡Muchas gracias! para toda la información, pude compilar brandelf y cambiar el encabezado del sistema operativo. He enviado el binario modificado y espero que se ejecute. Trataré de encontrar una manera de deshacerme del símbolo STT_GNU_IFUNC, no estoy seguro de cómo lo haré; no parece una cosa simple. –
Puede intentar buscar su código fuente para 'attribute ((ifunc))'. Pude cambiar la OSABI de 'ELFOSABI_LINUX' a' ELFOSABI_SYSV' en el * binario * estático * Linux/ia32 de prog.C (programa C++ con el atributo ifunc) descargado del siguiente sitio y todavía lo ejecuto sin ningún efecto secundario notorio. Este binario está vinculado estáticamente, lo que * puede * explicar la falta de efectos secundarios. - http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40528 – jschmier