PR 4437
[binutils/dougsmingw.git] / ld / scripttempl / h8300.sc
blobf142f4bcc0d55d09f04af70f50eb119166abfdef
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(${ARCH})
14 ${RELOCATING+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 .init :
42         { 
43           *(.init)
44         } ${RELOCATING+ > ram}
46 .text :
47         {
48           *(.rodata)
49           *(.text)
50           *(.text.*)
51           *(.strings)
52           ${RELOCATING+ _etext = . ; }
53         } ${RELOCATING+ > ram}
55 ${CONSTRUCTING+${TORS}}
57 .data :
58         {
59           *(.data)
60           *(.data.*)
61           *(.tiny)
62           ${RELOCATING+ _edata = . ; }
63         } ${RELOCATING+ > ram}
65 .bss :
66         {
67           ${RELOCATING+ _bss_start = . ;}
68           *(.bss)
69           *(COMMON)
70           ${RELOCATING+ _end = . ;  }
71         } ${RELOCATING+ >ram}
73 .stack :
74         {
75           ${RELOCATING+ _stack = . ; }
76           *(.stack)
77         } ${RELOCATING+ > topram}
79 .eight :
80         {
81           *(.eight)
82         } ${RELOCATING+ > eight}
84 .stab 0 ${RELOCATING+(NOLOAD)} :
85         {
86           [ .stab ]
87         }
89 .stabstr 0 ${RELOCATING+(NOLOAD)} :
90         {
91           [ .stabstr ]
92         }
94 EOF