[REGRESSION] _end symbol missing from Symbol.map

From: Hannes Reinecke
Date: Thu Aug 13 2009 - 02:45:28 EST


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.

Cheers,

Hannes
---
Dr. Hannes Reinecke zSeries & Storage
hare@xxxxxxx +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/