Checked in these changes.
Regards,
Adhiraj.
On Tue, 2007-07-03 at 12:23 +0530, Amit S. Kale wrote:
> Looks good. Will check-in if no-one objects.
>
> While we are on this I would like to remind that the patch
> gdb-kgdb-module-notification.patch is only a temporary feature (which
> happened to exist for over 4 years :-) ). The correct patch to modify gdb
> for kernel debugging is by introducing a new osabi as done in lk.patch
> -Amit
>
> On Tuesday 03 July 2007 06:35, Tim Barbour wrote:
> > The kgdb module notification patch (kgdbmod) expects the kernel to be
> > called "vmlinux". This is often not the case (e.g. vmlinux-2.6.21.1). When
> > invoked on a kernel that does not match vmlinux, gdb does not complain, and
> > debugs the kernel almost as normal, except that it does not notice any
> > kernel modules.
> >
> > When gdb is run under xemacs, if the target filename is a symlink, xemacs
> > will helpfully dereference the link, so that M-x gdb vmlinux ends up with
> > gdb seeing vmlinux-2.6.21.1 and consequently failing to notice kernel
> > modules.
> >
> > The patch fixes this by only requiring a partial match against the given
> > string (e.g. "vmlinux"), so that vmlinux-2.6.16 etc. will match okay.
> >
> > Tim
> >
> >
> > Index: gdb-6.4-kgdbmod/gdb/defs.h
> > ===================================================================
> > --- gdb-6.4-kgdbmod.orig/gdb/defs.h
> > +++ gdb-6.4-kgdbmod/gdb/defs.h
> > @@ -1217,4 +1217,6 @@ extern int use_windows;
> > extern ULONGEST align_up (ULONGEST v, int n);
> > extern ULONGEST align_down (ULONGEST v, int n);
> >
> > +#define LINUX_KERNEL_NAME_STEM "vmlinux"
> > +
> > #endif /* #ifndef DEFS_H */
> > Index: gdb-6.4-kgdbmod/gdb/symfile.c
> > ===================================================================
> > --- gdb-6.4-kgdbmod.orig/gdb/symfile.c
> > +++ gdb-6.4-kgdbmod/gdb/symfile.c
> > @@ -869,7 +869,8 @@ new_symfile_objfile (struct objfile *obj
> > filename = symfile_objfile->name;
> > while (dir = strchr(filename, '/'))
> > filename = dir + 1;
> > - if (!strcmp(filename, "vmlinux"))
> > + /* only require the given characters to match, so that longer
> > filenames will still match */ + if (!strncmp(filename,
> > LINUX_KERNEL_NAME_STEM, strlen(LINUX_KERNEL_NAME_STEM))) {
> > sym = lookup_symbol ("start_kernel", NULL, VAR_DOMAIN, NULL,
> > NULL); if (sym)
> >
> > -------------------------------------------------------------------------
> > This SF.net email is sponsored by DB2 Express
> > Download DB2 Express C - the FREE version of DB2 express and take
> > control of your XML. No limits. Just data. Click to get it now.
> > http://sourceforge.net/powerbar/db2/
> > _______________________________________________
> > Kgdb-bugreport mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Kgdb-bugreport mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Kgdb-bugreport mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport