]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/um/kernel/uml.lds.S
Pull misc into release branch
[linux-2.6-omap-h63xx.git] / arch / um / kernel / uml.lds.S
index af11915ce0a8ca5155dad601c853b138f250277a..307b9373676b2f4d0ae49374df6b47292fb4c53c 100644 (file)
@@ -7,13 +7,16 @@ jiffies = jiffies_64;
 
 SECTIONS
 {
-  /*This must contain the right address - not quite the default ELF one.*/
+  /* This must contain the right address - not quite the default ELF one.*/
   PROVIDE (__executable_start = START);
-  . = START + SIZEOF_HEADERS;
+  /* Static binaries stick stuff here, like the sigreturn trampoline,
+   * invisibly to objdump.  So, just make __binary_start equal to the very
+   * beginning of the executable, and if there are unmapped pages after this,
+   * they are forever unusable.
+   */
+  __binary_start = START;
 
-  /* Used in arch/um/kernel/mem.c. Any memory between START and __binary_start
-   * is remapped.*/
-  __binary_start = .;
+  . = START + SIZEOF_HEADERS;
 
 #ifdef MODE_TT
   .remap_data : { UNMAP_PATH (.data .bss) }
@@ -22,6 +25,7 @@ SECTIONS
   . = ALIGN(4096);             /* Init code and data */
 #endif
 
+  _text = .;
   _stext = .;
   __init_begin = .;
   .init.text : {
@@ -33,7 +37,7 @@ SECTIONS
 
   .text      :
   {
-    *(.text)
+    TEXT_TEXT
     SCHED_TEXT
     LOCK_TEXT
     *(.fixup)
@@ -55,7 +59,9 @@ SECTIONS
   {
     . = ALIGN(KERNEL_STACK_SIZE);              /* init_task */
     *(.data.init_task)
-    *(.data)
+    . = ALIGN(KERNEL_STACK_SIZE);
+    *(.data.init_irqstack)
+    DATA_DATA
     *(.gnu.linkonce.d*)
     CONSTRUCTORS
   }