Я пытаюсь скомпилировать версию сервера GDB из исходного кода для архитектуры MIPS32
. Я использую машину x86_64.
Я использую компилятор Buildroot uClibc
для MIPS
(mips-buildroot-linux-uclibc-gcc
).
Из каталога сервера GDB я запускаю команду ./configure
:
./configure --host=mips-buildroot-linux-uclibc AR=${CROSS}ar LD=${CROSS}ld CC=${CROSS}gcc CXX=${CROSS}g++ RANLIB=${CROSS}ranlib LIBS=-L/root/Desktop/buildroot/buildroot-2018.02.2/output/host/lib
С $CROSS
, имеющим значение mips-buildroot-linux-uclibc-
./configure
работает, но я заметил, что в выводе упоминается checking whether we are cross compiling... no
. Не похоже, что ./configure
обнаруживает, что я пытаюсь выполнить кросс-компиляцию.
Затем я запускаю make LDFLAGS=-static
, что приводит к ошибке:
ld: cannot find -lthread_db
collect2: error: ld returned 1 exit status
Makefile:379: recipe for target 'gdbserver' failed
make: *** [gdbserver] Error 1
Я прочитал, что вы можете удалить зависимости lthread_db
на GDB-сервере makefile
, однако мне нужно отлаживать многопоточные приложения.
Как я могу кросс-компилировать сервер GDB для архитектуры MIPS32
, используя набор инструментов кросс-компиляции Buildroot?