La respuesta es probablemente: depende de cómo se generó el archivo ELF.
Basado en este artículo y esta oración:
- Un error común es que los archivos ELF son solo para ejecutables ...
- Ya hemos visto que pueden usarse para piezas parciales ...
No todos los archivos ELF se ejecutarán, incluso si tiene una configuración adecuada.
Basado en este artículo , hay un grupo de archivos ELF llamado FatELF:
- FatELF es un formato de archivo que incorpora múltiples archivos binarios ELF para diferentes arquitecturas en un archivo
- Envíe un archivo que funcione en Linux y FreeBSD
Basado en esta página de Apple
- La porción BSD del núcleo OS X se deriva principalmente de FreeBSD
Entonces, para Mac OS X, FatELF es el "comienzo de la respuesta".
Y finalmente, basado en esta página :
Convertidor de archivos de objetos
Esta utilidad se puede utilizar para convertir archivos de objetos entre los formatos COFF / PE, OMF, ELF y Mach-O para todas las plataformas x86 de 32 bits y 64 bits. Puede modificar nombres de símbolos en archivos de objetos. Puede construir, modificar y convertir bibliotecas de funciones a través de plataformas . Puede volcar archivos de objetos y archivos ejecutables. También incluye un muy buen desensamblador compatible con los conjuntos de instrucciones SSE4, AVX, AVX2, AVX512, FMA3, FMA4, XOP y Knights Corner. Código fuente incluido (GPL).
Tienes la oportunidad de activar lo que quieras.
PD: hay otra página sobre XBinary , no la analicé .
Este documento analiza XBinary, un nuevo software que le permite agregar soporte a nivel de kernel para ejecutar archivos en formatos binarios arbitrarios en Mac OS X