After running the gcc 6 compiler for the Amiga, my Amiga toolchain seems to be quite usable and newlib starts to work as default, a debugger is still missing. It's time to deal with GDB for the Amiga.
Final Goal
Since I am using Eclipse cdt for Amiga C/C++ development I would like to have a working debugger in Eclipse. Eclipse suports gdb versions having the mi2 interface. This simplifies the decsion:
revive gdb 4.16
get a more recent version to work
gdb 4.16 does not support mi2 -> go for a recent version.
When I started to work in gdb it was GNU gdb (GDB) 8.1.50.20180312-git.
TODO List
To run GDB you need a working bfd package. If bfd is required, I wanted also updates to ld, as and the rest of the binutils.
For a convenient handling in Eclipse, I want a remote stub which loads the program into some kind of gdbserver matching the cross gdb binary.
Here's my TODO list:
bfd 2.30.51 -> DONE
m68k-amigaos-as 2.30.51 -> DONE
m68k-amigaos-ar 2.30.51 -> DONE
m68k-amigaos-ld 2.30.51 -> DONE
more binutils 2.30.51 -> DONE
remote rsh for the Amiga to start gdbserver -> DONE
Eclipse plugin to support AmigaOS Binaries -> DONE
patch for Eclipse to really use remote debugging -> DONE
some kind of gdbserver for the Amiga -> DONE
m68k-amigaos-gdb 8.1.50 -> DONE
Current state
Today I debugged the first Amiga C program remotely at C source level:
What's Working
So far working:
display asm
display c source
set/clear breakpoints
single step
continue
display registers
local variables and parameters are working now
Update
clean exit
It's not clean yet, but acceptable for me.
less (no?) seg faults of gdb on unsupported commands
This seems to be a cygwin issue, but I added some hacks.