source: rtems/c/src/lib/libbsp/m68k/efi332/startup/linkcmds_ROM @ 35ff211

Last change on this file since 35ff211 was 35ff211, checked in by Joel Sherrill <joel.sherrill@…>, on 04/05/00 at 19:09:06

Now all m68k BSPs specify _RamBase. This is necessary for the shared
m68kbsppretaskinghook.c to work.

  • Property mode set to 100644
File size: 2.2 KB
Line 
1/*  linkcmds
2 *
3 *  $Id$
4 */
5
6OUTPUT_ARCH(m68k)
7STARTUP(except_vect_332_ROM.o)
8__DYNAMIC  =  0;
9
10/*
11 * ROM:
12 * +--------------------+ <- low memory
13 * | .text              |
14 * |        etext       |
15 * |        ctor list   | the ctor and dtor lists are for
16 * |        dtor list   | C++ support
17 * |        _endtext    |
18 * | temporary .data    | .data is moved to RAM by crt0
19 * |                    |
20 * +--------------------+ <- high memory
21 *
22 *
23 * RAM:
24 * +--------------------+ <- low memory
25 * | .data              | initialized data goes here
26 * |        _sdata      |
27 * |        _edata      |
28 * +--------------------+
29 * | .bss               |
30 * |        __bss_start | start of bss, cleared by crt0
31 * |        _end        | start of heap, used by sbrk()
32 * +--------------------+
33 * |    heap space      |
34 * |        _ENDHEAP    |
35 * |    stack space     |
36 * |        __stack     | top of stack
37 * +--------------------+ <- high memory
38 */
39
40MEMORY
41{
42  rom     : ORIGIN = 0x00000, LENGTH = 256K
43  ram     : ORIGIN = 0x80000, LENGTH = 512K
44}
45
46_RamBase = DEFINED(_RamBase) ? _RamBase : 0x080000;
47
48__end_of_ram = 0x100000;
49_copy_data_from_rom = 1;
50
51/*
52 *
53 */
54SECTIONS
55{
56  .text :
57  {
58    CREATE_OBJECT_SYMBOLS
59    text_start = .;
60    _text_start = .;
61    *(.text)
62    . = ALIGN (16);
63
64    *(.eh_fram)
65    . = ALIGN (16);
66
67    etext = ALIGN(0x10);
68    _etext = .;
69    __CTOR_LIST__ = .;
70    LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
71    *(.ctors)
72    LONG(0)
73    __CTOR_END__ = .;
74    __DTOR_LIST__ = .;
75    LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
76    *(.dtors)
77    LONG(0)
78    __DTOR_END__ = .;
79    *(.lit)
80    *(.shdata)
81    _endtext = .;
82  } > rom
83  .gcc_exc :
84  AT ( ADDR(.text) + SIZEOF( .text ) )
85  {
86    *(.gcc_exc)
87  } > ram
88  .data :
89  {
90    data_start = .;
91    _data_start = .;
92    _sdata = . ;
93    *(.data)
94    CONSTRUCTORS
95    edata = ALIGN(0x10);
96    _edata = .;
97  } > ram
98  .shbss :
99  {
100    *(.shbss)
101  } > ram
102  .bss :
103  {
104    __bss_start = ALIGN(0x8);
105    bss_start = .;
106    _bss_start = .;
107    *(.bss)
108    *(COMMON)
109    end = .;
110    _end = ALIGN(0x8);
111    __end = ALIGN(0x8);
112  } > ram
113  .stab . (NOLOAD) :
114  {
115    [ .stab ]
116  }
117  .stabstr . (NOLOAD) :
118  {
119    [ .stabstr ]
120  }
121}
Note: See TracBrowser for help on using the repository browser.