Page 1 of 1

gdb 9.2 asserts when connecting to libogc's gdbstub

Posted: Sat Nov 28, 2020 10:54 pm
by phire
When I try to debug the remote target (wii gdbstub example via usb gecko) with gdb 9.2, I get the following error:

Code: Select all

Reading symbols from gdbstub.elf...
../../gdb/inferior.c:283: internal-error: inferior* find_inferior_pid(int): Assertion `pid != 0' failed.
A problem internal to GDB has been detected,
Googling around, it looks like a GDB issue and this patch appears to fix it. The patch is included in gdb 10.1 (well, with several improvements on-top of it), so I guess a simple option is to simply upgrade.

BTW, I was going to test upgrading to gdb 10.1 myself, but I couldn't find the PKGBUILD for gdb or any of the toolchain in the devkitPro/pacman-packages repo. Am I blind, or is it hiding away in another repo I can't find?

Re: gdb 9.2 asserts when connecting to libogc's gdbstub

Posted: Sun May 02, 2021 1:17 pm
by WinterMute
I had a look at gdb 10.2 and it's stil not working. I've just moved the devkitPPC-gdb package to 7.6.2 for now - that appears to work. There may be later versions that work but I had issues getting later 7.x trees to compile for all the platforms & I don't have a whole heck of a lot of spare cycles just now. You'll need to explicitly install it - pacman won't automatically install a lower version.

FFWIW this gdb is just a vanilla gdb compiled for a powepc-eabi target, there's nothing particually special about it. If we do any major patching then we'll add those to the relevant repo, in this case https://github.com/devkitPro/binutils-gdb/branches

The tool PKGBUILDs are held in a separate repo that's currently private after a bit of drama. tl;dr; someone started making a PR that conflicted with changes that hadn't yet been pushed to the public repo and threw a hissy fit when they were told that it couldn't be accepted & they should stop. I'll possibly make it public again at some point but I'm in the middle of refactoring some things in there so I don't really want to deal with issues or PRs on the repo until that's done.