Installazione di Elf su Mac tramite homebrew

2

Sto cercando di compilare un kernel Android sul mio Mac (El Capitan). Deve includere un certo file di intestazione "elf.h". Non mi è ancora chiaro quale sia esattamente questo file, e mi scuso per questo; comunque, quello che chiedo ora è: come installarlo?

Ho provato brew install libelf , ma questo installa solo un gelf.h e ho dato un'occhiata a elflang su github ( link ), ma ci sono due opzioni in questo repository, nessuna delle quali sembra includere un elfo.h

    
posta Enrico 14.03.2017 - 23:03
fonte

3 risposte

2

Sono stato fortunato e ho trovato rapidamente una soluzione, a quanto pare. Elf.h è specifico per i sistemi Linux (credo). Ma qualcuno è riuscito ad adattarlo a Mac OS X:

link

Il solo incollamento del file in /usr/local/include/ mi ha permesso di compilare correttamente. (A dire il vero devo ancora testare il risultato, ma la compilazione è terminata con successo.)

    
risposta data 14.03.2017 - 23:52
fonte
0

Un approccio diverso rispetto alla risposta dell'utente2707001 è delineato qui: [GUIDA ] Costruire il kernel Android su OSX :

Qui crei tu stesso il file elf.h copiando l'intero snippet qui sotto, incollandolo nella finestra Terminale e premendo il tasto Invio :

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

Questo creerà un nuovo file shim /usr/local/include/elf.h contenente solo le righe che iniziano con #

    
risposta data 14.03.2017 - 23:46
fonte
0

Prova quello di dtrace che la mela spedisce

https://opensource.apple.com/source/dtrace/dtrace-96/sys/elf.h
    
risposta data 14.03.2017 - 23:37
fonte

Leggi altre domande sui tag