mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2] Linker script cleanup for xtensa
@ 2009-09-18 20:33 Tim Abbott
  2009-09-18 20:33 ` [PATCH v2] xtensa: Cleanup linker script using new linker script macros Tim Abbott
  0 siblings, 1 reply; 3+ messages in thread
From: Tim Abbott @ 2009-09-18 20:33 UTC (permalink / raw)
  To: Chris Zankel; +Cc: Linux Kernel Mailing List, Sam Ravnborg, Tim Abbott

This is an updated version of the patch I sent on September 6 cleaning
up the xtensa architecture's linker scripts.  It differs from the
previous version only in having been rebased on top of Linus' current
master.

This cross-architecture linker script cleanup project is in
preparation for adding support for building the kernel with
-ffunction-sections -fdata-sections, which is a prerequisite for
Ksplice.

	-Tim Abbott

Tim Abbott (1):
  xtensa: Cleanup linker script using new linker script macros.

 arch/xtensa/kernel/vmlinux.lds.S |   75 +++++++-------------------------------
 1 files changed, 14 insertions(+), 61 deletions(-)


^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH v2] xtensa: Cleanup linker script using new linker script macros.
  2009-09-18 20:33 [PATCH v2] Linker script cleanup for xtensa Tim Abbott
@ 2009-09-18 20:33 ` Tim Abbott
  2009-09-19  8:37   ` Sam Ravnborg
  0 siblings, 1 reply; 3+ messages in thread
From: Tim Abbott @ 2009-09-18 20:33 UTC (permalink / raw)
  To: Chris Zankel
  Cc: Linux Kernel Mailing List, Sam Ravnborg, Tim Abbott, Chris Zankel

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
Cc: Chris Zankel <chris@zankel.net>
---
 arch/xtensa/kernel/vmlinux.lds.S |   75 +++++++-------------------------------
 1 files changed, 14 insertions(+), 61 deletions(-)

diff --git a/arch/xtensa/kernel/vmlinux.lds.S b/arch/xtensa/kernel/vmlinux.lds.S
index 921b6ff..9b52615 100644
--- a/arch/xtensa/kernel/vmlinux.lds.S
+++ b/arch/xtensa/kernel/vmlinux.lds.S
@@ -15,6 +15,8 @@
  */
 
 #include <asm-generic/vmlinux.lds.h>
+#include <asm/page.h>
+#include <asm/thread_info.h>
 
 #include <variant/core.h>
 #include <platform/hardware.h>
@@ -107,41 +109,18 @@ SECTIONS
 
   .fixup   : { *(.fixup) }
 
-  . = ALIGN(16);
-
-  __ex_table : {
-    __start___ex_table = .;
-    *(__ex_table)
-    __stop___ex_table = .;
-  }
-
+  EXCEPTION_TABLE(16)
   /* Data section */
 
-  . = ALIGN(XCHAL_ICACHE_LINESIZE);
   _fdata = .;
-  .data :
-  {
-    DATA_DATA
-    CONSTRUCTORS
-    . = ALIGN(XCHAL_ICACHE_LINESIZE);
-    *(.data.cacheline_aligned)
-  }
-
+  RW_DATA_SECTION(XCHAL_ICACHE_LINESIZE, PAGE_SIZE, THREAD_SIZE)
   _edata = .;
 
-  /* The initial task */
-  . = ALIGN(8192);
-  .data.init_task : { *(.data.init_task) }
-
   /* Initialization code and data: */
 
-  . = ALIGN(1 << 12);
+  . = ALIGN(PAGE_SIZE);
   __init_begin = .;
-  .init.text : {
-  	_sinittext = .;
-	INIT_TEXT
-	_einittext = .;
-  }
+  INIT_TEXT_SECTION(PAGE_SIZE)
 
   .init.data :
   {
@@ -168,36 +147,15 @@ SECTIONS
 		   .DebugInterruptVector.text);
   
     __boot_reloc_table_end = ABSOLUTE(.) ;
-  }
 
-  . = ALIGN(XCHAL_ICACHE_LINESIZE);
-
-  __setup_start = .;
-  .init.setup : { *(.init.setup) }
-  __setup_end = .;
-
-  __initcall_start = .;
-  .initcall.init : {
-	INITCALLS
+    INIT_SETUP(XCHAL_ICACHE_LINESIZE)
+    INIT_CALLS
+    CON_INITCALL
+    SECURITY_INITCALL
+    INIT_RAM_FS
   }
-  __initcall_end = .;
-
-  __con_initcall_start = .;
-  .con_initcall.init : { *(.con_initcall.init) }
-  __con_initcall_end = .;
-
-  SECURITY_INIT
-
-
-#ifdef CONFIG_BLK_DEV_INITRD
-  . = ALIGN(4096);
-  __initramfs_start =.;
-  .init.ramfs : { *(.init.ramfs) }
-  __initramfs_end = .;
-#endif
-
-  PERCPU(4096)
 
+  PERCPU(PAGE_SIZE)
 
   /* We need this dummy segment here */
 
@@ -252,16 +210,11 @@ SECTIONS
 		  .DoubleExceptionVector.literal)
 
   . = (LOADADDR( .DoubleExceptionVector.text ) + SIZEOF( .DoubleExceptionVector.text ) + 3) & ~ 3;
-  . = ALIGN(1 << 12);
+  . = ALIGN(PAGE_SIZE);
 
   __init_end = .;
 
-  . = ALIGN(8192);
-
-  /* BSS section */
-  _bss_start = .;
-  .bss : { *(.bss.page_aligned) *(.bss) }
-  _bss_end = .;
+  BSS_SECTION(0, 8192, 0)
 
   _end = .;
 
-- 
1.6.3.3


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] xtensa: Cleanup linker script using new linker script macros.
  2009-09-18 20:33 ` [PATCH v2] xtensa: Cleanup linker script using new linker script macros Tim Abbott
@ 2009-09-19  8:37   ` Sam Ravnborg
  0 siblings, 0 replies; 3+ messages in thread
From: Sam Ravnborg @ 2009-09-19  8:37 UTC (permalink / raw)
  To: Tim Abbott; +Cc: Chris Zankel, Linux Kernel Mailing List

On Fri, Sep 18, 2009 at 04:33:47PM -0400, Tim Abbott wrote:
> Signed-off-by: Tim Abbott <tabbott@ksplice.com>
> Cc: Chris Zankel <chris@zankel.net>

Look good.

Acked-by: Sam Ravnborg <sam@ravnborg.org>

	Sam

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-09-19  8:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-18 20:33 [PATCH v2] Linker script cleanup for xtensa Tim Abbott
2009-09-18 20:33 ` [PATCH v2] xtensa: Cleanup linker script using new linker script macros Tim Abbott
2009-09-19  8:37   ` Sam Ravnborg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®