From: Dave Anderson <anderson@redhat.com>
To: Derek Atkins <warlord@MIT.EDU>
Cc: kgdb-bugreport@lists.sourceforge.net,
Kexec Mailing List <kexec@lists.infradead.org>,
vgoyal@in.ibm.com, "Eric W. Biederman" <ebiederm@xmission.com>,
Jason Wessel <jason.wessel@windriver.com>,
pete@bluelane.com
Subject: Re: [Kgdb-bugreport] Problem getting kgdb to read kernel symbols. addresses shifted?
Date: Mon, 01 Oct 2007 15:03:41 -0400 [thread overview]
Message-ID: <4701448D.7070208@redhat.com> (raw)
In-Reply-To: <sjmve9qekug.fsf@pgpdev.ihtfp.org>
Derek Atkins wrote:
> Dave Anderson <anderson@redhat.com> writes:
>
>
>>>Hi Eric and others,
>>>
>>>I think we might be running into the issues because i386, FC7 relocatable
>>>kernel has been compiled for 16MB physical address but effectively it
>>>runs at 4MB physical address. So kernel does not run at compiled address
>>>and any kind of debugging tools reading symbol address from System.map
>>>or rom vmlinux will fail as run time symbol addresses are different.
>>>
>>>/proc/kallsyms should help though. This is one problem with shift in run
>>>time virtual address while relocating the kernel. We should be running kernel
>>>at compiled address to be able to debug it. Or enable any tools to parse
>>>/proc/kallsyms to read the shift in symbol addresses and adjust accordingly.
>>>
>>>Thanks
>>>Vivek
>>
>>Right, crash was updated in version 4.0-4.5 to allow the use
>>of /proc/kallsyms as an alternative to the System.map file,
>>as well as adding a new --reloc command line argument. After
>>bringing up the vmlinux file in gdb (with the "wrong" addresses),
>>all of the minimal_symbol data structures in the gdb module are
>>back-patched with the /proc/kallsyms values:
>>
>> http://people.redhat.com/anderson/crash.changelog.html#4_0_4_5
>>
>>It seems the benefit of configuring the kernel that way is debatable,
>>and I will do all I can to convince the RHEL-6 and beyond kernel
>>maintainers from doing it that way in the future. But Fedora goes
>>its own way. Seems totally lame to issue a bogus System.map file
>>though...
>
>
> Well, this is kgdb, so "/proc/kallsyms" is on the target machine,
> not the host machine. So, 'gdb' cannot read /proc/kallsyms, because,
> well, it's not local.
Well, you could just grab a copy of it, although I don't know what
gdb alone would be able to do with it...
>
> However, I AM building my own kernel -- so I can certainly reconfigure
> it as necessary. What do I need to do to reconfigure my kernel to
> run at the same place it was built for? I.e., what's changing the
> runtime from 16M to 4M and how do I make it consistent?
>
> Thanks!
Configure the kernel with CONFIG_PHYSICAL_START less than
or equal to CONFIG_PHYSICAL_ALIGN. Upon rebuilding my FC7
kernel with CONFIG_PHYSICAL_START changed from 16MB to 1MB,
with CONFIG_PHYSICAL_ALIGN left at 4MB, i.e.:
CONFIG_PHYSICAL_START=0x100000
CONFIG_PHYSICAL_ALIGN=0x400000
The kernel gets compiled for, and runs at, a 4MB physical address:
$ nm -Bn vmlinux | grep "^c04"
c0400000 T _text
c0400000 T startup_32
c0401000 T startup_32_smp
c0401080 t checkCPUtype
c0401101 t is486
...
Setting both of them to 0x400000 also works.
Dave
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
next prev parent reply other threads:[~2007-10-01 18:59 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <sjmabr8j6d7.fsf@pgpdev.ihtfp.org>
[not found] ` <46FD03CD.9060404@windriver.com>
[not found] ` <sjmve9uj3d2.fsf@pgpdev.ihtfp.org>
[not found] ` <46FD1B6A.3000500@windriver.com>
[not found] ` <20070928114522.n0cdrcebykkgg408@webmail.mit.edu>
[not found] ` <46FD2CFB.9010404@windriver.com>
2007-09-28 21:45 ` [Kgdb-bugreport] Problem getting kgdb to read kernel symbols. addresses shifted? Pete/Piet Delaney
2007-09-28 22:18 ` Eric W. Biederman
2007-09-28 23:29 ` Derek Atkins
2007-09-28 23:40 ` Eric W. Biederman
2007-09-28 23:58 ` Derek Atkins
2007-09-29 0:32 ` Pete/Piet Delaney
2007-09-30 5:38 ` Vivek Goyal
2007-10-01 13:35 ` Dave Anderson
2007-10-01 18:44 ` Derek Atkins
2007-10-01 19:03 ` Dave Anderson [this message]
2007-10-01 20:35 ` Derek Atkins
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4701448D.7070208@redhat.com \
--to=anderson@redhat.com \
--cc=ebiederm@xmission.com \
--cc=jason.wessel@windriver.com \
--cc=kexec@lists.infradead.org \
--cc=kgdb-bugreport@lists.sourceforge.net \
--cc=pete@bluelane.com \
--cc=vgoyal@in.ibm.com \
--cc=warlord@MIT.EDU \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.