summaryrefslogtreecommitdiff
path: root/ld/scripttempl/elf32xc16xs.sc
blob: 3565ecec36746b889bee6c7c55e2b0df4e8ec4bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
cat <<EOF
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
${RELOCATING+ENTRY ("_start")}
MEMORY
{
	vectarea : o =0xc00000, l = 0x0300 
	
	introm    : o = 0xc00300, l = 0x16000
	/* The stack starts at the top of main ram.  */
	
	dram   : o = 0x8000 , l = 0xffff
	/* At the very top of the address space is the 8-bit area.  */
         	
         ldata  : o =0x4000 ,l = 0x0200
}
SECTIONS
{
/*.vects :
        {
        *(.vects)
       } ${RELOCATING+ > vectarea} */
.init :
        {
          *(.init)
        } ${RELOCATING+ >introm}
 
.text :
	{
	  *(.rodata) 
	  *(.text.*)
	  *(.text)
	  	  ${RELOCATING+ _etext = . ; }
	} ${RELOCATING+ > introm}
.data :
	{
	  *(.data)
	  *(.data.*)
	  
	  ${RELOCATING+ _edata = . ; }
	} ${RELOCATING+ > dram}

.bss :
	{
	  ${RELOCATING+ _bss_start = . ;}
	  *(.bss)
	  *(COMMON)
	  ${RELOCATING+ _end = . ;  }
	} ${RELOCATING+ > dram}

 .ldata :
         {
          *(.ldata)
         } ${RELOCATING+ > ldata}

  
  .vects :
          {
          *(.vects)
       } ${RELOCATING+ > vectarea}


}
EOF