OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [arch/] [or32/] [vmlinux.lds.with.init] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
OUTPUT_ARCH(or32)
2
SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/local/or32-any-elf/lib);
3
/* Do we need any of these for elf?
4
   __DYNAMIC = 0;    */
5
 
6
/* __PHX__ :: TODO
7
 *              - clean up __offset & stuff
8
 *              - change all 8192 aligment to PAGE !!!
9
 *              - recheck if all aligments are really needed
10
 *              - make ramsize an option (maybe config option) or suck it of
11
 * hardware and calculate dram_end acordingly
12
 */
13
 
14
SECTIONS
15
{
16
  /* Read-only sections, merged into text segment: */
17
  . = 0xc0000000 ;
18
  _dram_start = .;
19
/*
20
  .interp : { *(.interp) }
21
  .hash          : { *(.hash)           }
22
  .dynsym        : { *(.dynsym)         }
23
  .dynstr        : { *(.dynstr)         }
24
  .rel.text      : { *(.rel.text)       }
25
  .rela.text     : { *(.rela.text)      }
26
  .rel.data      : { *(.rel.data)       }
27
  .rela.data     : { *(.rela.data)      }
28
  .rel.rodata    : { *(.rel.rodata)     }
29
  .rela.rodata   : { *(.rela.rodata)    }
30
  .rel.got       : { *(.rel.got)        }
31
  .rela.got      : { *(.rela.got)       }
32
  .rel.ctors     : { *(.rel.ctors)      }
33
  .rela.ctors    : { *(.rela.ctors)     }
34
  .rel.dtors     : { *(.rel.dtors)      }
35
  .rela.dtors    : { *(.rela.dtors)     }
36
  .rel.bss       : { *(.rel.bss)        }
37
  .rela.bss      : { *(.rela.bss)       }
38
  .rel.plt       : { *(.rel.plt)        }
39
  .rela.plt      : { *(.rela.plt)       }
40
*/
41
/*  .init          : { *(.init) } =0*/
42
/*  .plt : { *(.plt) }
43
*/
44
  _stext = .;
45
  __stext = .;
46
  _text_start = .;
47
 
48
  /* for boot from flash set it to 0xf0000000 */
49
  __offset = 0x0;
50
 
51
  .text      : AT ( __offset )
52
  {
53
    *(.text)
54
    *(.fixup)
55
    *(.got1)
56
    ___got2_start = .;
57
    *(.got2)
58
    ___got2_end = .;
59
  }
60
  __etext = .;
61
  PROVIDE (etext = .);
62
 
63
 
64
  __offset = __offset + SIZEOF(.text);
65
  . = ALIGN(8192);
66
  __offset = ((__offset + 8192 - 1) & ~(8192 - 1));
67
  .rodata    : AT ( __offset )
68
  {
69
    *(.rodata)
70
    *(.rodata.*)
71
    *(.rodata1)
72
  }
73
 
74
  __offset = __offset + SIZEOF(.rodata) ;
75
  .kstrtab   : AT ( __offset ) { *(.kstrtab) }
76
  .fini      : { *(.fini)    } =0
77
  .ctors     : { *(.ctors)   }
78
  .dtors     : { *(.dtors)   }
79
  /* Read-write section, merged into data segment: */
80
  . = (. + 0x1FFF) & 0xFFFFE000;
81
  __offset = __offset + SIZEOF(.kstrtab) ;
82
  __offset = (__offset + 0x1fff) & 0xFFFFE000;
83
 
84
  .data    : AT ( __offset )
85
  {
86
    *(.data)
87
    *(.data1)
88
    *(.sdata)
89
    *(.sdata2)
90
    *(.got.plt) *(.got)
91
    *(.dynamic)
92
    CONSTRUCTORS
93
  }
94
  __edata  =  .;
95
  PROVIDE (edata = .);
96
 
97
  __offset = __offset + SIZEOF(.data) ;
98
  .fixup   : AT ( __offset ) { *(.fixup) }
99
 
100
  ___start___ex_table = .;
101
  __offset = __offset + SIZEOF(.fixup) ;
102
  ___ex_table : AT ( __offset ) { *(__ex_table) }
103
  ___stop___ex_table = .;
104
 
105
  ___start___ksymtab = .;       /* Kernel symbol table */
106
  __offset = __offset + SIZEOF(___ex_table) ;
107
  ___ksymtab : AT ( __offset ) { *(__ksymtab) }
108
  ___stop___ksymtab = .;
109
 
110
  ___start___ftr_fixup = .;
111
  __offset = __offset + SIZEOF(___ksymtab) ;
112
  ___ftr_fixup : AT ( __offset ) { *(__ftr_fixup) }
113
  ___stop___ftr_fixup = .;
114
 
115
  __offset = __offset + SIZEOF(___ftr_fixup) ;
116
  __offset = ((__offset + 32 - 1) & ~(32 - 1));
117
 
118
  . = ALIGN(32);
119
  .data.cacheline_aligned : AT ( __offset ) { *(.data.cacheline_aligned) }
120
  __offset = __offset + SIZEOF(.data.cacheline_aligned) ;
121
 
122
 
123
  . = ALIGN(8192);                  /* init_task and stack, must be aligned */
124
  __offset = ((__offset + 8192 - 1) & ~(8192 - 1));
125
  .data.init_task : AT ( __offset ) { *(.data.init_task) }
126
  __offset = __offset + SIZEOF(.data.init_task) ;
127
 
128
 
129
  . = ALIGN(8192);
130
  __offset = ((__offset + 8192 - 1) & ~(8192 - 1));
131
  ___init_begin = .;
132
 
133
  .text.init : AT ( __offset ) { *(.text.init) }
134
 
135
  __offset = __offset + SIZEOF(.text.init) ;
136
  .data.init : AT ( __offset ) {
137
    *(.data.init);
138
    ___vtop_table_begin = .;
139
    *(.vtop_fixup);
140
    ___vtop_table_end = .;
141
    ___ptov_table_begin = .;
142
    *(.ptov_fixup);
143
    ___ptov_table_end = .;
144
  }
145
  __offset = __offset + SIZEOF(.data.init) ;
146
 
147
 
148
  . = ALIGN(16);
149
  __offset = ((__offset + 16 - 1) & ~(16 - 1));
150
 
151
  ___setup_start = .;
152
  .setup.init : AT ( __offset ) { *(.setup.init) }
153
  ___setup_end = .;
154
  ___initcall_start = .;
155
  __offset = __offset + SIZEOF(.setup.init) ;
156
  .initcall.init : AT ( __offset ) { *(.initcall.init) }
157
  ___initcall_end = .;
158
  . = ALIGN(8192);
159
  __offset = __offset + SIZEOF(.initcall.init) ;
160
  __offset = ((__offset + 8192 -1) & ~(8192 - 1));
161
  ___init_end = .;
162
 
163
  .initrd : AT ( __offset )
164
  {
165
      __initrd_start = . ;
166
      *(.initrd)
167
      __initrd_end = . ;
168
  }
169
  __offset = __offset + SIZEOF(.initrd) ;
170
 
171
  ___bss_start = .;
172
  .bss       : AT ( __offset )
173
  {
174
   *(.sbss) *(.scommon)
175
   *(.dynbss)
176
   *(.bss)
177
   *(COMMON)
178
  }
179
 
180
  __end = . ;
181
 
182
        /* Sections to be discarded */
183
        /DISCARD/ : {
184
                *(.text.exit)
185
                *(.data.exit)
186
                *(.exitcall.exit)
187
        }
188
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.