ld: add support for eBPF
[external/binutils.git] / ld / scripttempl / elf32xc16xl.sc
1 # Copyright (C) 2014-2019 Free Software Foundation, Inc.
2 #
3 # Copying and distribution of this file, with or without modification,
4 # are permitted in any medium without royalty provided the copyright
5 # notice and this notice are preserved.
6
7 cat <<EOF
8 /* Copyright (C) 2014-2019 Free Software Foundation, Inc.
9
10    Copying and distribution of this script, with or without modification,
11    are permitted in any medium without royalty provided the copyright
12    notice and this notice are preserved.  */
13
14 OUTPUT_FORMAT("${OUTPUT_FORMAT}")
15 OUTPUT_ARCH(${ARCH})
16 EOF
17
18 test -n "${RELOCATING}" && cat <<EOF
19 ENTRY ("_start")
20 MEMORY
21 {
22         vectarea : o =0xc00000, l = 0x0300
23
24         introm    : o = 0xc00300, l = 0x16000
25         /* The stack starts at the top of main ram.  */
26
27         dram   : o = 0x8000 , l = 0xffff
28         /* At the very top of the address space is the 8-bit area.  */
29
30         ldata   : o =0x4000 ,l = 0x0200
31 }
32 EOF
33
34 cat <<EOF
35 SECTIONS
36 {
37 /*.vects :
38         {
39           *(.vects)
40         } ${RELOCATING+ > vectarea} */
41 .init :
42         {
43           KEEP (*(SORT_NONE(.init)))
44           ${RELOCATING+KEEP (*(SORT_NONE(.fini)))}
45         } ${RELOCATING+ >introm}
46
47 .text :
48         {
49           ${RELOCATING+*(.rodata)}
50           ${RELOCATING+*(.text.*)}
51           *(.text)
52           ${RELOCATING+ _etext = . ; }
53         } ${RELOCATING+ > introm}
54 .data :
55         {
56           *(.data)
57           ${RELOCATING+*(.data.*)}
58
59           ${RELOCATING+ _edata = . ; }
60         } ${RELOCATING+ > dram}
61
62 .bss :
63         {
64           ${RELOCATING+ _bss_start = . ;}
65           *(.bss)
66           ${RELOCATING+*(COMMON)}
67           ${RELOCATING+ _end = . ;  }
68         } ${RELOCATING+ > dram}
69
70 .ldata :
71         {
72           *(.ldata)
73         } ${RELOCATING+ > ldata}
74
75 .vects :
76         {
77           *(.vects)
78         } ${RELOCATING+ > vectarea}
79 }
80 EOF