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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox