Co oznacza ten błąd GCC „… relokacja obcięta w celu dopasowania…”?

Programuję stronę hosta systemu akceleratora hosta. Host działa na komputerze w systemie Ubuntu Linux i komunikuje się z wbudowanym sprzętem za pośrednictwem połączenia USB. Komunikacja odbywa się poprzez kopiowanie fragmentów pamięci do iz wbudowanej pamięci sprzętu.

W pamięci płyty znajduje się obszar pamięci, którego używam jako skrzynki pocztowej, w której piszę i czytam dane. Skrzynka pocztowa jest zdefiniowana jako struktura i używam tej samej definicji do przydzielania lustrzanej skrzynki pocztowej w mojej przestrzeni hosta.

Użyłem tej techniki z powodzeniem w przeszłości, więc teraz skopiowałem projekt hosta Eclipse do obszaru roboczego mojego bieżącego projektu i dokonałem odpowiednich zmian nazwy. Dziwne jest to, że podczas budowania projektu hosta otrzymuję teraz następującą wiadomość:

Budowanie celu: fft2d_host
Wywoływanie: GCC C Linker
gcc -L / opt / adapteva / esdk / tools / host / x86_64 / lib -o "fft2d_host" ./src/fft2d_host.o -le_host -lrt

./src/fft2d_host.o: W funkcji `main ':

fft2d_host.c :(. text + 0x280): relokacja obcięta do dopasowania: R_X86_64_PC32 przeciwko symbolowi „Mailbox” zdefiniowanemu w sekcji COMMON w ./src/fft2d_host.o

Co oznacza ten błąd i dlaczego nie będzie on opierał się na bieżącym projekcie, podczas gdy starszy projekt jest w porządku?

questionAnswers(6)

yourAnswerToTheQuestion