From 9655ad03af2d232c3b26e7562ab4f8c29b107e49 Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Mon, 14 May 2007 15:59:09 +0900 Subject: sh: Fixup machvec support. This fixes up much of the machvec handling, allowing for it to be overloaded on boot. Making practical use of this still requires some Kconfig munging, however. Signed-off-by: Paul Mundt --- arch/sh/kernel/vmlinux.lds.S | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'arch/sh/kernel/vmlinux.lds.S') diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S index 4c5b57e9c3c..f437a4f06da 100644 --- a/arch/sh/kernel/vmlinux.lds.S +++ b/arch/sh/kernel/vmlinux.lds.S @@ -98,8 +98,9 @@ SECTIONS #endif __machvec_start = .; - .init.machvec : { *(.init.machvec) } + .machvec.init : { *(.machvec.init) } __machvec_end = .; + . = ALIGN(PAGE_SIZE); __init_end = .; -- cgit v1.2.3 From 3a3c60fc0b4c2e3e6f037f68c84ddd9468b2a196 Mon Sep 17 00:00:00 2001 From: Takashi YOSHII Date: Wed, 23 May 2007 12:34:13 +0900 Subject: sh: Align .machvec.init section on a 4-byte boundary. .machvec.init can be misaligned with the recent machvec changes, forcibly align it on the boundary that it expects, as before. Signed-off-by: Takashi YOSHII Signed-off-by: Paul Mundt --- arch/sh/kernel/vmlinux.lds.S | 1 + 1 file changed, 1 insertion(+) (limited to 'arch/sh/kernel/vmlinux.lds.S') diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S index f437a4f06da..992c25ad377 100644 --- a/arch/sh/kernel/vmlinux.lds.S +++ b/arch/sh/kernel/vmlinux.lds.S @@ -97,6 +97,7 @@ SECTIONS __initramfs_end = .; #endif + . = ALIGN(4); __machvec_start = .; .machvec.init : { *(.machvec.init) } __machvec_end = .; -- cgit v1.2.3 From e181127a7a12c5d8e29afa19d235b53bf4140cb3 Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Thu, 12 Jul 2007 10:40:36 +0900 Subject: sh: Add a .bss.page_aligned section for 4K stacks. Signed-off-by: Paul Mundt --- arch/sh/kernel/vmlinux.lds.S | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'arch/sh/kernel/vmlinux.lds.S') diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S index 992c25ad377..0696402f446 100644 --- a/arch/sh/kernel/vmlinux.lds.S +++ b/arch/sh/kernel/vmlinux.lds.S @@ -103,14 +103,14 @@ SECTIONS __machvec_end = .; . = ALIGN(PAGE_SIZE); - __init_end = .; - - . = ALIGN(4); - __bss_start = .; /* BSS */ - .bss : { *(.bss) } - - . = ALIGN(4); - _end = . ; + .bss : { + __init_end = .; + __bss_start = .; /* BSS */ + *(.bss.page_aligned) + *(.bss) + . = ALIGN(4); + _end = . ; + } /* When something in the kernel is NOT compiled as a module, the * module cleanup code and data are put into these segments. Both -- cgit v1.2.3