ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / arch / um / uml.lds.S
1 #include <asm-generic/vmlinux.lds.h>
2         
3 OUTPUT_FORMAT(ELF_FORMAT)
4 OUTPUT_ARCH(ELF_ARCH)
5 ENTRY(_start)
6 jiffies = jiffies_64;
7
8 SECTIONS
9 {
10   . = START + SIZEOF_HEADERS;
11
12   . = ALIGN(4096);
13   __binary_start = .;
14 #ifdef MODE_TT
15   .thread_private : {
16     __start_thread_private = .;
17     errno = .;
18     . += 4;
19     arch/um/kernel/tt/unmap_fin.o (.data)
20     __end_thread_private = .;
21   }
22   . = ALIGN(4096);
23   .remap : { arch/um/kernel/tt/unmap_fin.o (.text) }
24 #endif
25
26   . = ALIGN(4096);              /* Init code and data */
27   _stext = .;
28   __init_begin = .;
29   .text.init : { *(.text.init) }
30   . = ALIGN(4096);
31   .text      :
32   {
33     *(.text)
34     /* .gnu.warning sections are handled specially by elf32.em.  */
35     *(.gnu.warning)
36     *(.gnu.linkonce.t*)
37   }
38
39   #include "asm/common.lds.S"
40
41   .data.init : { *(.data.init) }
42   .data    :
43   {
44     . = ALIGN(KERNEL_STACK_SIZE);               /* init_task */
45     *(.data.init_task)
46     *(.data)
47     *(.gnu.linkonce.d*)
48     CONSTRUCTORS
49   }
50   .data1   : { *(.data1) }
51   .ctors         :
52   {
53     *(.ctors)
54   }
55   .dtors         :
56   {
57     *(.dtors)
58   }
59
60   .got           : { *(.got.plt) *(.got) }
61   .dynamic       : { *(.dynamic) }
62   /* We want the small data sections together, so single-instruction offsets
63      can access them all, and initialized data all before uninitialized, so
64      we can shorten the on-disk segment size.  */
65   .sdata     : { *(.sdata) }
66   _edata  =  .;
67   PROVIDE (edata = .);
68   . = ALIGN(0x1000);
69   .sbss      : 
70   {
71    __bss_start = .;
72    PROVIDE(_bss_start = .);
73    *(.sbss) 
74    *(.scommon) 
75   }
76   .bss       :
77   {
78    *(.dynbss)
79    *(.bss)
80    *(COMMON)
81   }
82   _end = . ;
83   PROVIDE (end = .);
84   /* Stabs debugging sections.  */
85   .stab 0 : { *(.stab) }
86   .stabstr 0 : { *(.stabstr) }
87   .stab.excl 0 : { *(.stab.excl) }
88   .stab.exclstr 0 : { *(.stab.exclstr) }
89   .stab.index 0 : { *(.stab.index) }
90   .stab.indexstr 0 : { *(.stab.indexstr) }
91   .comment 0 : { *(.comment) }
92 }