-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
makefiles/tools/gdb.inc.mk: prefer $(target)-gdb over gdb-multiarch [backport 2022.10] #19020
makefiles/tools/gdb.inc.mk: prefer $(target)-gdb over gdb-multiarch [backport 2022.10] #19020
Conversation
This should have been backported long ago. I only noticed this when release testing, but it didn't felt important enough to delay the release further. But let's have it in the point release. |
In an ideal world everyone would just install `gdb-multiarch` and be happy. However, some MCUs need magic GDB versions sprinkled with unicorn-stardust-Espressif-patches... Since there is little reason to have `$(target)-gdb` installed in addition to `gdb-multiarch` if `gdb-multiarch` would work fine, let's assume the user wants to use `$(target)-gdb` when present over `gdb-multiarch`. Co-authored-by: Gunar Schorcht <gunar@schorcht.net> (cherry picked from commit b9b63da)
89cded6
to
85f4e57
Compare
bors merge |
Configuration problem: |
bors retry |
Configuration problem: |
bors retry |
Configuration problem: |
bors retry |
19019: sam0_common: use size_t len for I2C transfers (fixes #19008) [backport 2022.10] r=maribu a=maribu # Backport of #19009 See description in #19008 . I modified `_read` and `_write` in `cpu/sam0_common/periph/i2c.c` in order to use the declared `len` parameter. 19020: makefiles/tools/gdb.inc.mk: prefer $(target)-gdb over gdb-multiarch [backport 2022.10] r=maribu a=maribu # Backport of #18784 ### Contribution description In an ideal world everyone would just install `gdb-multiarch` and be happy. However, some MCUs need magic GDB versions sprinkled with unicorn-stardust-Espressif-patches... Since there is little reason to have `$(target)-gdb` installed in addition to `gdb-multiarch` if `gdb-multiarch` would work fine, let's assume the user wants to use `$(target)-gdb` when present over `gdb-multiarch`. ### Testing procedure ``` USEMODULE=esp_jtag make BOARD=esp32-ethernet-kit-v1_2 PROGRAMMER=openocd OPENOCD=openocd-esp32 debug -C examples/default ``` In `master`: ``` /home/maribu/Repos/software/RIOT/dist/tools/openocd/openocd.sh debug /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf ### Starting Debugging ### Open On-Chip Debugger v0.11.0-snapshot (2022-10-21-10:40) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Reading symbols from /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf... Remote debugging using :3333 Remote 'g' packet reply is too long (expected 180 bytes, got 420 bytes): 00040040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000004004096fec51c2500060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ``` With this PR: ``` /home/maribu/Repos/software/RIOT/dist/tools/openocd/openocd.sh debug /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf ### Starting Debugging ### DBG="xtensa-esp32-elf-gdb", GDB="xtensa-esp32-elf-gdb", DBG_FLAGS="-q -ex "tar ext :3333" " Open On-Chip Debugger v0.11.0-snapshot (2022-10-21-10:40) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Reading symbols from /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf... Remote debugging using :3333 0x40000400 in ?? () (gdb) start The program being debugged has been started already. Start it from the beginning? (y or n) y Temporary breakpoint 1 at 0x400d0024: file /data/riotbuild/riotbase/examples/default/main.c, line 37. Note: automatically using hardware breakpoints for read-only addresses. Starting program: /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf [esp32.cpu0] Target halted, PC=0x400D0024, debug_reason=00000001 Set GDB target to 'esp32.cpu0' Temporary breakpoint 1, main () at /data/riotbuild/riotbase/examples/default/main.c:37 37 { (gdb) show arch The target architecture is set to "auto" (currently "xtensa"). (gdb) quit A debugging session is active. Inferior 1 [Remote target] will be detached. Quit anyway? (y or n) y Detaching from program: /home/maribu/Repos/software/RIOT/examples/default/bin/esp32-ethernet-kit-v1_2/default.elf, Remote target [Inferior 1 (Remote target) detached] ``` ### Issues/PRs references #18359 (comment) 19040: CI: add bors.toml from master r=kaspar030 a=kaspar030 19041: CI: update murdock yml [backport 2022.10] r=kaspar030 a=kaspar030 # Backport of #19022 Co-authored-by: Antonio Galea <antonio.galea@gmail.com> Co-authored-by: Marian Buschsieweke <marian.buschsieweke@ovgu.de> Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
Build failed (retrying...): |
Configuration problem: |
bors merge |
Murdock results✔️ PASSED 85f4e57 makefiles/tools/gdb.inc.mk: prefer $(target)-gdb over gdb-multiarch
ArtifactsThis only reflects a subset of all builds from https://ci-prod.riot-os.org. Please refer to https://ci.riot-os.org for a complete build for now. |
Build succeeded: |
Backport of #18784
Contribution description
In an ideal world everyone would just install
gdb-multiarch
and be happy. However, some MCUs need magic GDB versions sprinkled with unicorn-stardust-Espressif-patches...Since there is little reason to have
$(target)-gdb
installed in addition togdb-multiarch
ifgdb-multiarch
would work fine, let's assume the user wants to use$(target)-gdb
when present overgdb-multiarch
.Testing procedure
In
master
:With this PR:
Issues/PRs references
#18359 (comment)