source: rtems/c/src/lib/libbsp/h8300/h8sim/startup/linkcmds @ 4217b96

4.104.114.84.95
Last change on this file since 4217b96 was 4217b96, checked in by Joel Sherrill <joel.sherrill@…>, on 02/08/06 at 12:28:38

2006-02-08 Joel Sherrill <joel@…>

  • startup/linkcmds: Add sections required by newer gcc versions.
  • Property mode set to 100644
File size: 2.3 KB
Line 
1/*
2 *  $Id$
3 */
4
5OUTPUT_ARCH(h8300h)
6/*
7 * Declare some sizes.
8 */
9_RamBase = DEFINED(_RamBase) ? _RamBase : 0x0;
10_RamSize = DEFINED(_RamSize) ? _RamSize : 1M;
11_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x4000;
12_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
13
14ENTRY("_start")
15/* The memory size is 256KB to coincide with the simulator.
16   Don't change either without considering the other.  */
17MEMORY
18{
19  /* 0xc4 is a magic entry.  We should have the linker just
20  skip over it one day... */
21  vectors : o = 0x0000, l = 0xc4
22  magicvectors : o = 0xc4, l = 0x3c
23  /* We still only use 256k as the main ram size.  */
24  ram    : o = 0x0100, l = 0xffefc /* 256K RAM --> 0x3fefc */
25  /* The stack starts at the top of main ram.  */
26  topram : o = 0xffffc, l = 0x4  /* 256K RAM --> 0x3fffc */
27  /* This holds variables in the "tiny" sections.  */
28  tiny   : o = 0xff8000, l = 0x7f00
29  /* At the very top of the address space is the 8-bit area.  */
30  eight  : o = 0xffff00, l = 0x100
31}
32
33
34SECTIONS
35{
36   .vectors :
37   {
38        *(.vectors)
39   }  > vectors
40
41    .text :
42    {
43        *(.text*)
44        *(.gnu.linkonce.t*)
45       
46        /*
47         * Special FreeBSD sysctl sections.
48         */
49        . = ALIGN (16);
50        ___start_set_sysctl_set = .;
51        *(set_sys*);                            /* sysctl set */
52        ___stop_set_sysctl_set = ABSOLUTE(.);
53        *(set_dom*);                            /* domain set */
54        *(set_pse*);
55
56        /*
57         * Read-only data
58         */
59        . = ALIGN (16);
60        PROVIDE(_rodata_start = . );
61        *(.rodata*)
62        *(.gnu.linkonce.r*)
63        PROVIDE(_erodata = . );
64
65         _etext = .;
66    }  >ram
67   .tors SIZEOF(.text) + ADDR(.text): {
68        ___ctors = . ;
69        *(.ctors)
70        ___ctors_end = . ;
71        ___dtors = . ;
72        *(.dtors)
73        ___dtors_end = . ;
74    }  >ram
75    .data SIZEOF(.tors) + ADDR(.tors):
76    {
77        *(.data)
78        *(.gcc_exc*)
79        CONSTRUCTORS
80         _edata = .;
81    }  >ram
82    .bss SIZEOF(.data) + ADDR(.data):
83    {
84         _bss_start = .;
85        *(.bss* .gnu.linkonce.b.*)
86        *(COMMON)
87        . = ALIGN (64);
88        . += _StackSize;
89        _stack_init = .;
90        _clear_end = .;
91        _WorkspaceBase = .;
92         _end = .;
93         __end = .;
94    } >ram
95    .tiny : {
96        *(.tiny)
97    }  > tiny
98    .eight : {
99        *(.eight)
100    }  > eight
101    .stab 0 (NOLOAD) : {
102        [ .stab ]
103    }
104    .stabstr 0 (NOLOAD) : {
105        [ .stabstr ]
106    }
107
108}
Note: See TracBrowser for help on using the repository browser.