Sto programmando il lato host di un sistema host-accelerator. L'host viene eseguito sul PC sotto Ubuntu Linux e comunica con l'hardware incorporato tramite una connessione USB. La comunicazione viene eseguita copiando blocchi di memoria da e verso la memoria dell'hardware incorporato.Che cosa significa questo errore GCC "... relocation truncated to fit ..."?
Sulla memoria della scheda è presente un'area di memoria che utilizzo come mailbox in cui scrivo e leggo i dati. La cassetta postale è definita come una struttura e io uso la stessa definizione per allocare una casella postale mirror nel mio spazio host.
Ho usato questa tecnica con successo in passato, quindi ora ho copiato il progetto host Eclipse nello spazio di lavoro del mio progetto corrente e ho apportato le modifiche al nome appropriato. La cosa strana è che quando si costruisce il progetto di accoglienza ora ottengo il seguente messaggio: obiettivo
costruzione: fft2d_host
Invocare: GCC C Linker
gcc -L/opt/Adapteva/esdk/strumenti/host/x86_64/-o lib "fft2d_host" ./src/fft2d_host.o -le_host -lrt./src/fft2d_host.o: In funzione `main':.
fft2d_host.c :(testo + 0x280): trasferimento troncato per adattarsi: R_X86_64_PC32 contro il simbolo `Mailbox 'definito nella sezione COMMON in ./src/fft2d_host.o
Che cosa significa questo errore e perché non si baserà sul progetto corrente, mentre è corretto con il progetto precedente?
Ecco un suggerimento: potresti essere costruire accidentalmente oggetti a 64 bit senza '-fPIC'. Questo mi ha fatto inciampare per un po '. –