Messages in this thread | | | Date | Wed, 19 Aug 2009 09:37:04 -0700 | From | Andrew Morton <> | Subject | Re: [REGRESSION] _end symbol missing from Symbol.map |
| |
On Thu, 13 Aug 2009 08:45:20 +0200 Hannes Reinecke <hare@suse.de> wrote:
> Hi all, > > with 2.6.31 'crash' on x86_64 falls flat on its face as the '_end' symbol > is missing from the System.map file. > > The culprit is commit 091e52c3551d3031343df24b573b770b4c6c72b6, > which moved the '_end' symbol into it's own section. > Apparently this causes kallsyms to not reference it properly. > > So either we'd need to revert part of the patch to not > include _end in it's own section: > > diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S > index 59f31d2..1422df5 100644 > --- a/arch/x86/kernel/vmlinux.lds.S > +++ b/arch/x86/kernel/vmlinux.lds.S > @@ -376,9 +376,7 @@ SECTIONS > __brk_limit = .; > } > > - .end : AT(ADDR(.end) - LOAD_OFFSET) { > - _end = .; > - } > + _end = .; > > /* Sections to be discarded */ > /DISCARD/ : { > > or someone has to fixup kallsyms. But this is far beyond my comfort zone. >
So System.map is part of the kernel API too? Sigh.
Your email client replaces tabs with spaces.
The patch didn't have a signed-off-by:
I queued it up, and tagged it for -stable backporting. Unless we come up with something better.
We might not get this into 2.6.31, in which case this fix or its replacement will need backporting to 2.6.30.x and 2.6.31.x (IMO).
| |