On Thu, 2009-05-07 at 11:23 +0200, Ingo Molnar wrote: > * Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S > > index 4c85b2e..0bbb2d1 100644 > > --- a/arch/x86/kernel/vmlinux.lds.S > > +++ b/arch/x86/kernel/vmlinux.lds.S > > @@ -107,6 +107,7 @@ SECTIONS > > > > /* Data */ > > . = ALIGN(PAGE_SIZE); > > + _sdata = .; /* Start of data section */ > > .data : AT(ADDR(.data) - LOAD_OFFSET) { > > DATA_DATA > > CONSTRUCTORS > > At a quick glance, that line should be moved a line further down, to > avoid a boot crash of linux-next with CONFIG_RELOCATABLE=y (which > most distros ship with). Fixed, see below (and changed Acked-by back to Cc). > The kmemleak tree change should be submitted to the x86 tree as > well, so we can merge it properly. OK, once you are fine with its new form. > (it's fine if the kmemleak tree > has that commit too [it obviously needs it] - so there will still be > a conflict - just the resolution will be a straightforward 'pick the > x86 tree side' step.) There may not be a conflict if the changes are identical (but it depends on what else is in the x86 tree). x86: Provide _sdata in the vmlinux_*.lds.S files From: Catalin Marinas <catalin.marinas@xxxxxxx> _sdata is a common symbol defined by many architectures and made available to the kernel via asm-generic/sections.h. Kmemleak uses this symbol when scanning the data sections. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> --- arch/x86/kernel/vmlinux_32.lds.S | 1 + arch/x86/kernel/vmlinux_64.lds.S | 1 + 2 files changed, 2 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/vmlinux_32.lds.S b/arch/x86/kernel/vmlinux_32.lds.S index 62ad500..171a534 100644 --- a/arch/x86/kernel/vmlinux_32.lds.S +++ b/arch/x86/kernel/vmlinux_32.lds.S @@ -64,6 +64,7 @@ SECTIONS /* writeable */ . = ALIGN(PAGE_SIZE); .data : AT(ADDR(.data) - LOAD_OFFSET) { /* Data */ + _sdata = .; /* Start of data section */ DATA_DATA CONSTRUCTORS } :data diff --git a/arch/x86/kernel/vmlinux_64.lds.S b/arch/x86/kernel/vmlinux_64.lds.S index c874250..121319f 100644 --- a/arch/x86/kernel/vmlinux_64.lds.S +++ b/arch/x86/kernel/vmlinux_64.lds.S @@ -59,6 +59,7 @@ SECTIONS . = ALIGN(PAGE_SIZE); /* Align data segment to page size boundary */ /* Data */ .data : AT(ADDR(.data) - LOAD_OFFSET) { + _sdata = .; /* Start of data section */ DATA_DATA CONSTRUCTORS _edata = .; /* End of data section */ -- Catalin -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html