]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/um/kernel/uml.lds.S
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
[linux-2.6-omap-h63xx.git] / arch / um / kernel / uml.lds.S
index af11915ce0a8ca5155dad601c853b138f250277a..81acdc24348ee7fbf3ca2a53032abd69315647e5 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,19 +37,20 @@ SECTIONS
 
   .text      :
   {
-    *(.text)
+    TEXT_TEXT
     SCHED_TEXT
     LOCK_TEXT
     *(.fixup)
     /* .gnu.warning sections are handled specially by elf32.em.  */
     *(.gnu.warning)
     *(.gnu.linkonce.t*)
+  }
 
-    . = ALIGN(4096);
-    __syscall_stub_start = .;
-    *(.__syscall_stub*)
-    __syscall_stub_end = .;
-    . = ALIGN(4096);
+  . = ALIGN(4096);
+  .syscall_stub : {
+       __syscall_stub_start = .;
+       *(.__syscall_stub*)
+       __syscall_stub_end = .;
   }
 
   #include "asm/common.lds.S"
@@ -55,7 +60,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
   }