Instalando Elf en Mac a través de homebrew

2

Estoy tratando de compilar un kernel de Android en mi Mac (El Capitán). Debe incluir un cierto archivo de cabecera "elf.h". Aún no me queda claro qué es exactamente este archivo, y me disculpo por eso; De todos modos, lo que pregunto ahora es: ¿cómo instalarlo?

Intenté brew install libelf , pero esto solo instala gelf.h, y eché un vistazo a elflang en github ( enlace ), pero hay dos opciones en este repositorio, ninguna de las cuales parece incluir un elf.h

    
pregunta Enrico 14.03.2017 - 23:03

3 respuestas

2

Parece que tuve suerte y encontré rápidamente una solución. Elf.h es específico para sistemas Linux (creo). Pero alguien logró adaptarlo a Mac OS X:

enlace

Simplemente pegar ese archivo en /usr/local/include/ me permitió compilarlo exitosamente. (Para ser honesto, todavía tengo que probar el resultado, pero la compilación terminó con éxito).

    
respondido por el Enrico 14.03.2017 - 23:52
0

Un enfoque diferente comparado con la respuesta del usuario2707001 se describe aquí: [GUIDE ] Construyendo el núcleo de Android en OSX :

Aquí crea el archivo elf.h usted mismo copiando el fragmento completo a continuación, pegándolo en la ventana de la Terminal y presionando la tecla Enter :

cat <<EOT >> /usr/local/include/elf.h
#include "../opt/libelf/include/libelf/gelf.h"
#define R_386_NONE 0
#define R_386_32 1
#define R_386_PC32 2
#define R_ARM_NONE 0
#define R_ARM_PC24 1
#define R_ARM_ABS32 2
#define R_MIPS_NONE 0
#define R_MIPS_16 1
#define R_MIPS_32 2
#define R_MIPS_REL32 3
#define R_MIPS_26 4
#define R_MIPS_HI16 5
#define R_MIPS_LO16 6
#define R_IA64_IMM64 0x23 /* symbol + addend, mov imm64 */
#define R_PPC_ADDR32 1 /* 32bit absolute address */
#define R_PPC64_ADDR64 38 /* doubleword64 S + A */
#define R_SH_DIR32 1
#define R_SPARC_64 32 /* Direct 64 bit */
#define R_X86_64_64 1 /* Direct 64 bit */
#define R_390_32 4 /* Direct 32 bit. */
#define R_390_64 22 /* Direct 64 bit. */
#define R_MIPS_64 18
EOT

Esto creará un nuevo archivo shim /usr/local/include/elf.h que solo contiene las líneas que comienzan con un #

    
respondido por el klanomath 14.03.2017 - 23:46
0

Prueba el de dtrace que Apple envía

https://opensource.apple.com/source/dtrace/dtrace-96/sys/elf.h
    
respondido por el user2707001 14.03.2017 - 23:37

Lea otras preguntas en las etiquetas