Re: kgdb support in vanilla 2.6.2

From: George Anzinger
Date: Fri Feb 27 2004 - 17:06:39 EST


Piet Delaney wrote:
On Tue, 2004-02-10 at 13:56, George Anzinger wrote:

I thought I'd poke around an AMD64 with etherbased kgdb on 2.6.*.
I just picked up a used AMD64 K8D Master-F MS-9131 and thought I'd
install Fedora Core 1 test1 and the latest kernel from kernel.org.

It Might be interesting to try out a SuSE release also, I was wondering
if 9.0 from linuxiso.org might be best.

Last I worked with your kgdb patch for 2.6 Andrew's mm patch had the
latest code; Is that still the case?

I think so. I haven't look lately. I did send out an additional patch that only put in dwarft2 records in some of the asm code to allow better "bt" through the interrupt/exception frames. I don't know if he picked this up or not, but it does require using the cvs version of gdb.

-g

-piet


Andi Kleen wrote:

On Thu, 5 Feb 2004 23:20:04 +0530
"Amit S. Kale" <amitkale@xxxxxxxxxxxxx> wrote:



On Thursday 05 Feb 2004 8:41 am, Andi Kleen wrote:


Andrew Morton <akpm@xxxxxxxx> writes:


need to take a look at such things and really convice ourselves that
they're worthwhile. Personally, I'd only be interested in the basic
stub.

What I found always extremly ugly in the i386 stub was that it uses
magic globals to talk to the page fault handler. For the x86-64
version I replaced that by just using __get/__put_user in the memory
accesses, which is much cleaner. I would suggest doing that for i386
too.

May be I am missing something obvious. When debugging a page fault handler if kgdb accesses an swapped-out user page doesn't it deadlock when trying to hold mm semaphore?


Modern i386 kernels don't grab the mm semaphore when the access is >= TASK_SIZE
and the access came from kernel space (actually I see x86-64 still does, but that's a bug, will fix). You could only see a deadlock when using user addresses
and you already hold the mm semaphore for writing (normal read lock is ok). Just don't do that.




George has coded cfi directives i386 too. He can use them to backtrace past irqs stack.


Problem is that he did it without binutils support. I don't think that's a good
idea because it makes the code basically unmaintainable for normal souls
(it's like writing assembly code directly in hex)

Well, bin utils, at this time, makes it even worse in that it does not support the expression syntax. Also, it is not asm but dwarf2 and it is written in, IMHO, useful macros (not hex :)



--
George Anzinger george@xxxxxxxxxx
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

--
George Anzinger george@xxxxxxxxxx
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/