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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [lib/] [libbsp/] [sparc/] [erc32/] [startup/] [linkcmds] - Blame information for rev 173

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 unneback
/*  linkcmds
2
 *
3
 *  $Id: linkcmds,v 1.2 2001-09-27 12:01:14 chris Exp $
4
 */
5
 
6
OUTPUT_ARCH(sparc)
7
__DYNAMIC  =  0;
8
 
9
/*
10
 * The memory map looks like this:
11
 * +--------------------+ <- low memory
12
 * | .text              |
13
 * |        etext       |
14
 * |        ctor list   | the ctor and dtor lists are for
15
 * |        dtor list   | C++ support
16
 * |        _endtext    |
17
 * +--------------------+
18
 * | .data              | initialized data goes here
19
 * |        _sdata      |
20
 * |        _edata      |
21
 * +--------------------+
22
 * | .bss               |
23
 * |        __bss_start | start of bss, cleared by crt0
24
 * |        _end        | start of heap, used by sbrk()
25
 * +--------------------+
26
 * |    heap space      |
27
 * |        _ENDHEAP    |
28
 * |    stack space     |
29
 * |        __stack     | top of stack
30
 * +--------------------+ <- high memory
31
 */
32
 
33
 
34
/*
35
 * User modifiable values:
36
 *
37
 * _CLOCK_SPEED               in Mhz (used to program the counter/timers)
38
 *
39
 * _PROM_SIZE                 size of PROM (permissible values are 128K, 256K,
40
 *                               512K, 1M, 2M, 4M, 8M and 16M)
41
 * _RAM_SIZE                  size of RAM (permissible values are 256K, 512K,
42
 *                               1M, 2M, 4M, 8M, 16M, and 32M)
43
 *
44
 */
45
 
46
/* Default values, can be overridden */
47
 
48
_PROM_SIZE = 2M;
49
_RAM_SIZE = 4M;
50
 
51
_RAM_START = 0x02000000;
52
_RAM_END = _RAM_START + _RAM_SIZE;
53
 
54
_PROM_START = 0x00000000;
55
_PROM_END = _PROM_START + _PROM_SIZE;
56
 
57
/*
58
 *  Alternate names without leading _.
59
 */
60
 
61
PROM_START = _PROM_START;
62
PROM_SIZE = _PROM_SIZE;
63
PROM_END = _PROM_END;
64
 
65
RAM_START = _RAM_START;
66
RAM_SIZE = _RAM_SIZE;
67
RAM_END = _RAM_END;
68
 
69
/*
70
 *  Base address of the on-CPU peripherals
71
 */
72
 
73
_ERC32_MEC = 0x01f80000;
74
ERC32_MEC = 0x01f80000;
75
 
76
/* these are the maximum values */
77
 
78
MEMORY
79
{
80
  rom     : ORIGIN = 0x00000000, LENGTH = 16
81
  ram     : ORIGIN = 0x02000000, LENGTH = 32M
82
}
83
 
84
/*
85
 * stick everything in ram (of course)
86
 */
87
SECTIONS
88
{
89
  .text :
90
  {
91
    CREATE_OBJECT_SYMBOLS
92
    text_start = .;
93
    _text_start = .;
94
    *(.text)
95
    . = ALIGN (16);
96
 
97
    *(.eh_frame)
98
    . = ALIGN (16);
99
 
100
    *(.gnu.linkonce.t*)
101
 
102
    /*
103
     * C++ constructors
104
     */
105
    __CTOR_LIST__ = .;
106
    LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
107
    *(.ctors)
108
    LONG(0)
109
    __CTOR_END__ = .;
110
    __DTOR_LIST__ = .;
111
    LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
112
    *(.dtors)
113
    LONG(0)
114
    __DTOR_END__ = .;
115
 
116
    _rodata_start = . ;
117
    *(.rodata)
118
    *(.gnu.linkonce.r*)
119
    _erodata = ALIGN( 0x10 ) ;
120
 
121
    etext = ALIGN(0x10);
122
    _etext = .;
123
    *(.init)
124
    *(.fini)
125
    *(.lit)
126
    *(.shdata)
127
    . = ALIGN (16);
128
    _endtext = .;
129
  } > ram
130
  .dynamic        : { *(.dynamic)       } >ram
131
  .got            : { *(.got)           } >ram
132
  .plt            : { *(.plt)           } >ram
133
  .hash           : { *(.hash)          } >ram
134
  .dynrel         : { *(.dynrel)        } >ram
135
  .dynsym         : { *(.dynsym)        } >ram
136
  .dynstr         : { *(.dynstr)        } >ram
137
  .hash           : { *(.hash)          } >ram
138
  .data :
139
  {
140
    data_start = .;
141
    _data_start = .;
142
    _sdata = . ;
143
    *(.data)
144
    *(.gnu.linkonce.d*)
145
    *(.gcc_except_table)
146
    . = ALIGN(0x10);
147
    edata = .;
148
    _edata = .;
149
  } > ram
150
  .shbss :
151
  {
152
    *(.shbss)
153
  } > ram
154
  .bss :
155
  {
156
    __bss_start = ALIGN(0x8);
157
    _bss_start = .;
158
    bss_start = .;
159
    *(.bss)
160
    *(COMMON)
161
    end = .;
162
    _end = ALIGN(0x8);
163
    __end = ALIGN(0x8);
164
  } > ram
165
  .stab . (NOLOAD) :
166
  {
167
    [ .stab ]
168
  }
169
  .stabstr . (NOLOAD) :
170
  {
171
    [ .stabstr ]
172
  }
173
}

powered by: WebSVN 2.1.0

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