Генерация RISC-V Linux GDB с использованием Buildroot - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь кросс-компилировать Linux для QEMU (RV64G ISA, lp64d ABI, машина Virt) с использованием Buildroot.Но, по-видимому, GDB была удалена из используемой мной версии buildroot (2019.08) и указана в устаревшем списке.

Моя цель - иметь возможность запускать приложение RISC-V Linux (в пользовательском режиме).и софтму) и с отладкой GDB.Мне удалось создать и запустить приложения RISC-V с использованием QEMU в обоих режимах.Но я не нашел способ генерировать GDB, как другие утилиты хоста.Есть идеи, как это сделать?

Ответы [ 2 ]

2 голосов
/ 27 сентября 2019

GDB определенно не был удален из Buildroot!Однако, когда поддержка RISC-V была добавлена ​​в Buildroot, поддержка gdb не была включена, и поэтому BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS зависит от! BR2_riscv, который скрывает gdb при выборе архитектуры RISC-V.

Таким образом, можно было бынеобходимо проверить, существует ли версия gdb для исходной версии, поддерживающая RISC-V, и, если она есть, удалить зависимость! BR2_riscv и добавить соответствующие зависимости, чтобы пользователь не мог выбирать более старые версии gdb, не имеющие RISC-V.поддержка.

1 голос
/ 26 сентября 2019

Возможная процедура для создания riscv64-linux-gnu-gdb с нуля будет:

PREFIX=$(pwd)/gdb-8.3.1-riscv64-linux-gnu
wget ftp://ftp.gnu.org/gnu/gdb/gdb-8.3.1.tar.xz
tar Jxf gdb-8.3.1.tar.xz
mkdir gdb
cd gdb
../gdb-8.3.1/configure --program-prefix=riscv64-linux-gnu- -with-tui --target=riscv64-linux-gnu --prefix=${PREFIX}
make all install
cd -

Артефакты сборки будут расположены в $(pwd)/gdb-8.3.1-riscv64-linux-gnu:

ls -gG gdb-8.3.1-riscv64-linux-gnu/bin/riscv64-linux-gnu-gdb
-rwxr-xr-x 1 80395824 Sep 26 14:16 gdb-8.3.1-riscv64-linux-gnu/bin/riscv64-linux-gnu-gdb

gdb-8.3.1-riscv64-linux-gnu/bin/riscv64-linux-gnu-gdb --version
GNU gdb (GDB) 8.3.1
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Если вы не хотите создавать GDB с интерфейсом TUI , удалите --with-tui из команды ./configure.

Надеюсь, это поможет.

...