All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Horman <horms@verge.net.au>
To: Dave Anderson <anderson@redhat.com>
Cc: kexec@lists.infradead.org
Subject: Re: FYI: x86_64 bug when using gdb with vmcore
Date: Thu, 18 Feb 2010 11:40:00 +1100	[thread overview]
Message-ID: <20100218004000.GB16530@verge.net.au> (raw)
In-Reply-To: <976749693.1787721266414586815.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com>

On Wed, Feb 17, 2010 at 08:49:46AM -0500, Dave Anderson wrote:
> 
> ----- "Simon Horman" <horms@verge.net.au> wrote:
> 
> > On Fri, Feb 05, 2010 at 11:53:18AM -0500, Dave Anderson wrote:
> > > 
> > > The kexec/arch/x86_64/crashdump-x86_64.h file contains a
> > > stale PAGE_OFFSET value.  In 2.6.27 it was changed from
> > > 0xffff810000000000UL to 0xffff880000000000UL.  This is
> > > only a problem when using gdb with the vmlinux/vmcore
> > > pair, because gdb relies upon the PT_LOAD segment's p_vaddr
> > > values in the ELF header to be correct.
> > > 
> > > Anyway, in the RHEL6 kexec-tools, this simple patch 
> > > was made:
> > > 
> > > -#define PAGE_OFFSET            0xffff810000000000UL
> > > +#define PAGE_OFFSET            0xffff880000000000UL
> > > 
> > > which is OK since the RHEL6 version of kexec-tools
> > > will only be used with RHEL6 kernels.  
> > > 
> > > But for backwards compatibility, the better way to do 
> > > it would be to check the utsname of the running kernel, 
> > > and use the right value.
> > > 
> > > But again, this is only required for gdb usage.  The 
> > > crash utility (and makedumpfile) make kernel version checks 
> > > to determine which x86_64 PAGE_OFFSET value is applicable,
> > > and don't rely on the ELF header p_vaddr values for
> > > the unity-mapped regions.  
> > 
> > Hi Dave,
> > 
> > Something like this?
> 
> Looks good to me -- all except for the second "if" statement/typo below:  

Thanks, 2.4.27 was a special time for me :-)

I've fixed that up and pushed the commit.

> > +int arch_init(void)
> > +{
> > +	int kv;
> > +
> > +	kv = kernel_version();
> > +	if (kv < 0)
> > +		return -1;
> > +
> > +	if (kv < KERNEL_VERSION(2, 4, 27))
> > +		page_offset = PAGE_OFFSET_PRE_2_6_27;
> > +	else
> > +		page_offset = PAGE_OFFSET;
> > +
> > +	return 0;
> > +}
> 
> Thanks,
>   Dave

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

  reply	other threads:[~2010-02-18  0:40 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <571350993.1786101266414411140.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com>
2010-02-17 13:49 ` FYI: x86_64 bug when using gdb with vmcore Dave Anderson
2010-02-18  0:40   ` Simon Horman [this message]
     [not found] <539140123.1108061265388145735.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com>
2010-02-05 16:53 ` Dave Anderson
2010-02-17  7:18   ` Simon Horman

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=20100218004000.GB16530@verge.net.au \
    --to=horms@verge.net.au \
    --cc=anderson@redhat.com \
    --cc=kexec@lists.infradead.org \
    /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.