Date: Mon, 5 Jul 2004 22:33:51 -0700 From: Marcel Moolenaar <marcel@xcllnt.net> To: arch@FreeBSD.org Subject: Please review: revamp of kernel debugging code Message-ID: <20040706053351.GA62046@dhcp50.pn.xcllnt.net>
next in thread | raw e-mail | index | archive | help
Gang, I reworked the kernel debugging support to achieve the following: 1. Allow any device to be used as debug port, not just sio(4). This is required on platforms that don't support sio(4). Such as ia64. 2. Unify the remote GDB stubs and improve remote debugging. This applies to sparc64 and ia64. 3. Improve speed of remote GDB by implementing compression. This is pretty much required on ia64, where the register context is 9KB. 3. Add thread awareness to both remote GDB and DDB. This includes the ability to switch the active thread and provide backtraces for them. 4. Remove the NO_SIO option added on alpha to work around console braindeadness. Alpha now looks like a normal platform :-) 5. Detangle remote GDB support from DDB code to allow only remote GDB to be configured, but not DDB (and obviously vice versa). This also allows other debugger implementations to be added. 6. Improve symbol handling in DDB, especially for the pre-linker case. I probably forgot some items, but you get the gist. The patch applies to alpha, amd64, i386, ia64 and sparc64. amd64 is known to compile but I can't test this stuff yet due to lack of hardware. Typically you'll see that #ifdef DDB is being replaced with #ifdef KDB. This is because DDB indicates whether you want the DDB debugger, but not having DDB doesn't mean that there isn't any debugger at all. So a new option KDB as been added to indicate that certain debugging code should be compiled in. Please apply the patch and try it out. Note that the patch is quite large (~363KB), so http://people.freebsd.org/~marcel/gdb.diff I'll probably commit it in about a week or so if there aren't any showshopper issues. FYI, -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040706053351.GA62046>
