bfd/
[binutils.git] / ld / scripttempl / h8300sn.sc
blobb2647ca4058c9280b16ecce045b857c77cc07129
1 TORS=".tors :
2         {
3           ___ctors = . ;
4           *(.ctors)
5           ___ctors_end = . ;
6           ___dtors = . ;
7           *(.dtors)
8           ___dtors_end = . ;
9         } > ram"
11 cat <<EOF
12 OUTPUT_FORMAT("${OUTPUT_FORMAT}")
13 OUTPUT_ARCH(h8300sn)
14 ENTRY("_start")
16 MEMORY
18         /* 0xc4 is a magic entry.  We should have the linker just
19            skip over it one day...  */
20         vectors : o = 0x0000, l = 0xc4
21         magicvectors : o = 0xc4, l = 0x3c
22         ram    : o = 0x0100, l = 0xfdfc
23         /* The stack starts at the top of main ram.  */
24         topram : o = 0xfefc, l = 0x4
25         /* At the very top of the address space is the 8-bit area.  */
26         eight : o = 0xff00, l = 0x100
29 SECTIONS
31 .vectors :
32         {
33           /* Use something like this to place a specific
34              function's address into the vector table.
36              SHORT (ABSOLUTE (_foobar)).  */
38           *(.vectors)
39         } ${RELOCATING+ > vectors}
41 .text :
42         {
43           *(.rodata)
44           *(.text)
45           *(.strings)
46           ${RELOCATING+ _etext = . ; }
47         } ${RELOCATING+ > ram}
49 ${CONSTRUCTING+${TORS}}
51 .data :
52         {
53           *(.data)
54           *(.tiny)
55           ${RELOCATING+ _edata = . ; }
56         } ${RELOCATING+ > ram}
58 .bss :
59         {
60           ${RELOCATING+ _bss_start = . ;}
61           *(.bss)
62           *(COMMON)
63           ${RELOCATING+ _end = . ;  }
64         } ${RELOCATING+ >ram}
66 .stack :
67         {
68           ${RELOCATING+ _stack = . ; }
69           *(.stack)
70         } ${RELOCATING+ > topram}
72 .eight :
73         {
74           *(.eight)
75         } ${RELOCATING+ > eight}
77 .stab 0 ${RELOCATING+(NOLOAD)} :
78         {
79           [ .stab ]
80         }
82 .stabstr 0 ${RELOCATING+(NOLOAD)} :
83         {
84           [ .stabstr ]
85         }
87 EOF