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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [arch/] [or32/] [vmlinux.lds] - 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
  .interp : { *(.interp) }
20
  .hash          : { *(.hash)           }
21
  .dynsym        : { *(.dynsym)         }
22
  .dynstr        : { *(.dynstr)         }
23
  .rel.text      : { *(.rel.text)       }
24
  .rela.text     : { *(.rela.text)      }
25
  .rel.data      : { *(.rel.data)       }
26
  .rela.data     : { *(.rela.data)      }
27
  .rel.rodata    : { *(.rel.rodata)     }
28
  .rela.rodata   : { *(.rela.rodata)    }
29
  .rel.got       : { *(.rel.got)        }
30
  .rela.got      : { *(.rela.got)       }
31
  .rel.ctors     : { *(.rel.ctors)      }
32
  .rela.ctors    : { *(.rela.ctors)     }
33
  .rel.dtors     : { *(.rel.dtors)      }
34
  .rela.dtors    : { *(.rela.dtors)     }
35
  .rel.bss       : { *(.rel.bss)        }
36
  .rela.bss      : { *(.rela.bss)       }
37
  .rel.plt       : { *(.rel.plt)        }
38
  .rela.plt      : { *(.rela.plt)       }
39
/*  .init          : { *(.init) } =0*/
40
  .plt : { *(.plt) }
41
 
42
  _stext = .;
43
  __stext = .;
44
  _text_start = .;
45
 
46
  /* for boot from flash set it to 0xf0000000 */
47
  __offset = 0xf0000000;
48
 
49
  .text      : AT ( __offset )
50
  {
51
    *(.text)
52
    *(.fixup)
53
    *(.got1)
54
    ___got2_start = .;
55
    *(.got2)
56
    ___got2_end = .;
57
  }
58
  __etext = .;
59
  PROVIDE (etext = .);
60
 
61
 
62
  __offset = __offset + SIZEOF(.text);
63
  . = ALIGN(8192);
64
  __offset = ((__offset + 8192 - 1) & ~(8192 - 1));
65
  .rodata    : AT ( __offset )
66
  {
67
    *(.rodata)
68
    *(.rodata.*)
69
    *(.rodata1)
70
  }
71
  __offset = __offset + SIZEOF(.rodata) ;
72
 
73
  __e_protected_core = .;
74
 
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 + 16 - 1) & ~(16 - 1));
117
 
118
/* __PHX__ this aligment should be taken from CONFIG_OR32_DC/IC_LINE */
119
 
120
  . = ALIGN(16);
121
  .data.cacheline_aligned : AT ( __offset ) { *(.data.cacheline_aligned) }
122
  __offset = __offset + SIZEOF(.data.cacheline_aligned) ;
123
 
124
 
125
  . = ALIGN(8192);                  /* init_task and stack, must be aligned */
126
  __offset = ((__offset + 8192 - 1) & ~(8192 - 1));
127
  .data.init_task : AT ( __offset ) { *(.data.init_task) }
128
  __offset = __offset + SIZEOF(.data.init_task) ;
129
 
130
 
131
  . = ALIGN(8192);
132
  __offset = ((__offset + 8192 - 1) & ~(8192 - 1));
133
  ___init_begin = .;
134
 
135
  .text.init : AT ( __offset ) { *(.text.init) }
136
 
137
  __offset = __offset + SIZEOF(.text.init) ;
138
  .data.init : AT ( __offset ) {
139
    *(.data.init);
140
    ___vtop_table_begin = .;
141
    *(.vtop_fixup);
142
    ___vtop_table_end = .;
143
    ___ptov_table_begin = .;
144
    *(.ptov_fixup);
145
    ___ptov_table_end = .;
146
  }
147
  __offset = __offset + SIZEOF(.data.init) ;
148
 
149
 
150
  . = ALIGN(16);
151
  __offset = ((__offset + 16 - 1) & ~(16 - 1));
152
 
153
  ___setup_start = .;
154
  .setup.init : AT ( __offset ) { *(.setup.init) }
155
  ___setup_end = .;
156
  ___initcall_start = .;
157
  __offset = __offset + SIZEOF(.setup.init) ;
158
  .initcall.init : AT ( __offset ) { *(.initcall.init) }
159
  ___initcall_end = .;
160
  . = ALIGN(8192);
161
  __offset = __offset + SIZEOF(.initcall.init) ;
162
  __offset = ((__offset + 8192 -1) & ~(8192 - 1));
163
  ___init_end = .;
164
 
165
  .initrd : AT ( __offset )
166
  {
167
      __initrd_start = . ;
168
      *(.initrd)
169
      __initrd_end = . ;
170
  }
171
  __offset = __offset + SIZEOF(.initrd) ;
172
 
173
  ___bss_start = .;
174
  .bss       : AT ( __offset )
175
  {
176
   *(.sbss) *(.scommon)
177
   *(.dynbss)
178
   *(.bss)
179
   *(COMMON)
180
  }
181
 
182
  __end = . ;
183
 
184
        /* Sections to be discarded */
185
        /DISCARD/ : {
186
                *(.text.exit)
187
                *(.data.exit)
188
                *(.exitcall.exit)
189
        }
190
}

powered by: WebSVN 2.1.0

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