]> rtime.felk.cvut.cz Git - sysless.git/blob - board/h8300/h8eurobot/libs/h8canusb.ld-bload
h8300: Port the newest bloader to h8eurobot board
[sysless.git] / board / h8300 / h8eurobot / libs / h8canusb.ld-bload
1 /* linker script for inteligent boot block (hardwired boot mode) */
2
3 INCLUDE "h8canusb.ld-cfg"
4
5 PROVIDE( ___stack_top = ( __iram0_end & ~ 3 ) - 4 );
6
7 INPUT(bsp0common.o)
8
9 SECTIONS
10 {
11         .text :
12         {
13           text_start = . ;
14 /*        KEEP (crt0.o(.text))*/
15           *(EXCLUDE_FILE(*boot_fn.o) .text)
16           *(EXCLUDE_FILE(*boot_fn.o) .rodata)                           
17           *(.strings)
18           . = ALIGN( 4 ) ;
19           ___boot_fn_start = ALIGN( 0x4 ) ;
20           ___boot_fn_load = ALIGN( 0x4 ) ;
21           KEEP (*boot_fn.o(.text))
22           KEEP (*boot_fn.o(.rodata))
23           . = ALIGN( 4 ) ;
24           ___boot_fn_end = ALIGN( 0x4 ) ;
25           . = ALIGN( 0x4 ) ;
26           _etext = ALIGN( 0x4 ) ;
27         } > bloader
28
29         .shadreg (NOLOAD) :
30         {
31           *(.shadreg)
32           . = ALIGN( 0x4 ) ;
33         } > iram0
34
35         .tors : 
36         {
37           ___ctors = . ;
38           *(.ctors)
39           ___ctors_end = . ;
40           ___dtors = . ;
41           *(.dtors)
42           ___dtors_end = . ;
43           . = ALIGN( 0x4 ) ;
44         }  > bloader
45
46         .data :
47         {
48           ___data_lma = . ;
49           _data_start = . ;
50           *(.data)
51           . = ALIGN( 0x4 ) ;
52           _edata = ALIGN( 0x4 ) ;
53         } > bloader
54         
55         .bss : 
56         {
57           . = ALIGN( 0x4 ) ;
58           _bss_start = ALIGN( 0x4 ) ;
59           *(.bss)
60           *(COMMON)
61           . = ALIGN( 0x4 ) ;
62           _end =  ALIGN( 0x4 ) ; ;
63         } > bloader
64         
65         /* Stabs debugging sections.  */
66         .stab          0 (NOLOAD): { *(.stab) }
67         .stabstr       0 (NOLOAD): { *(.stabstr) }
68         .stab.excl     0 (NOLOAD): { *(.stab.excl) }
69         .stab.exclstr  0 (NOLOAD): { *(.stab.exclstr) }
70         .stab.index    0 (NOLOAD): { *(.stab.index) }
71         .stab.indexstr 0 (NOLOAD): { *(.stab.indexstr) }
72         .comment       0 (NOLOAD): { *(.comment) }
73         /* DWARF debug sections.
74            Symbols in the DWARF debugging sections are relative to the beginning
75            of the section so we begin them at 0.  */
76         /* DWARF 1 */
77         .debug          0 (NOLOAD): { *(.debug) }
78         .line           0 (NOLOAD): { *(.line) }
79         /* GNU DWARF 1 extensions */
80         .debug_srcinfo  0 (NOLOAD): { *(.debug_srcinfo) }
81         .debug_sfnames  0 (NOLOAD): { *(.debug_sfnames) }
82         /* DWARF 1.1 and DWARF 2 */
83         .debug_aranges  0 (NOLOAD): { *(.debug_aranges) }
84         .debug_pubnames 0 (NOLOAD): { *(.debug_pubnames) }
85         /* DWARF 2 */
86         .debug_info     0 (NOLOAD): { *(.debug_info .gnu.linkonce.wi.*) }
87         .debug_abbrev   0 (NOLOAD): { *(.debug_abbrev) }
88         .debug_line     0 (NOLOAD): { *(.debug_line) }
89         .debug_frame    0 (NOLOAD): { *(.debug_frame) }
90         .debug_str      0 (NOLOAD): { *(.debug_str) }
91         .debug_loc      0 (NOLOAD): { *(.debug_loc) }
92         .debug_macinfo  0 (NOLOAD): { *(.debug_macinfo) }
93         /* SGI/MIPS DWARF 2 extensions */
94         .debug_weaknames 0 (NOLOAD): { *(.debug_weaknames) }
95         .debug_funcnames 0 (NOLOAD): { *(.debug_funcnames) }
96         .debug_typenames 0 (NOLOAD): { *(.debug_typenames) }
97         .debug_varnames  0 (NOLOAD): { *(.debug_varnames) }
98         /* DWARF 3 */
99         .debug_pubtypes 0 (NOLOAD): { *(.debug_pubtypes) }
100         .debug_ranges   0 (NOLOAD): { *(.debug_ranges) }
101         .gnu.attributes 0 (NOLOAD): { KEEP (*(.gnu.attributes)) }
102 }