1TORS="
2    ___ctors = . ;
3    *(.ctors)
4    ___ctors_end = . ;
5    ___dtors = . ;
6    *(.dtors)
7    ___dtors_end = . ;"
8
9cat <<EOF
10OUTPUT_FORMAT("${OUTPUT_FORMAT}")
11OUTPUT_ARCH(${ARCH})
12
13/* Compact model - code < 64k, data > 64k */
14
15SECTIONS
16{
17.text 0x10000 :
18	{
19	  *(.text)
20	  *(.strings)
21	  ${RELOCATING+ _etext = . ; }
22	} ${RELOCATING+ > ram}
23
24.data 0x20000 :
25	{
26	  *(.data)
27	  ${RELOCATING+ _edata = . ; }
28	} ${RELOCATING+ > ram}
29
30.rdata 0x30000  :
31	{
32	  *(.rdata);
33
34	  ${CONSTRUCTING+${TORS}}
35	}  ${RELOCATING+ > ram}
36
37.bss  0x40000 :
38	{
39	  ${RELOCATING+ __start_bss = . ; }
40	  *(.bss)
41	  *(COMMON)
42	  ${RELOCATING+ _end = . ;  }
43	} ${RELOCATING+ >ram}
44
45.stack 0x5fff0 :
46	{
47	  ${RELOCATING+ _stack = . ; }
48	  *(.stack)
49	} ${RELOCATING+ > topram}
50
51.stab  0 ${RELOCATING+(NOLOAD)} :
52	{
53	  [ .stab ]
54	}
55
56.stabstr  0 ${RELOCATING+(NOLOAD)} :
57	{
58	  [ .stabstr ]
59	}
60}
61EOF
62