From: Pavel Pisa Date: Sun, 11 Jan 2009 14:21:05 +0000 (+0100) Subject: The hi_cpu2 board ldscripts modified to allow ELF build. X-Git-Url: http://rtime.felk.cvut.cz/gitweb/sysless.git/commitdiff_plain/27c3ebb3065f9e7274f935104cd7b98baed6a438 The hi_cpu2 board ldscripts modified to allow ELF build. The COFF is no longer supported by GCC for H8S MCUs. Signed-off-by: Pavel Pisa --- diff --git a/board/h8300/hi_cpu2/libs/hi_cpu2.ld-bload b/board/h8300/hi_cpu2/libs/hi_cpu2.ld-bload index 7a85af2..970be30 100644 --- a/board/h8300/hi_cpu2/libs/hi_cpu2.ld-bload +++ b/board/h8300/hi_cpu2/libs/hi_cpu2.ld-bload @@ -64,13 +64,41 @@ SECTIONS _end = ALIGN( 0x4 ) ; ; } > bloader - .stab 0 (NOLOAD) : - { - [ .stab ] - } - - .stabstr 0 (NOLOAD) : - { - [ .stabstr ] - } + /* Stabs debugging sections. */ + .stab 0 (NOLOAD): { *(.stab) } + .stabstr 0 (NOLOAD): { *(.stabstr) } + .stab.excl 0 (NOLOAD): { *(.stab.excl) } + .stab.exclstr 0 (NOLOAD): { *(.stab.exclstr) } + .stab.index 0 (NOLOAD): { *(.stab.index) } + .stab.indexstr 0 (NOLOAD): { *(.stab.indexstr) } + .comment 0 (NOLOAD): { *(.comment) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 (NOLOAD): { *(.debug) } + .line 0 (NOLOAD): { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 (NOLOAD): { *(.debug_srcinfo) } + .debug_sfnames 0 (NOLOAD): { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 (NOLOAD): { *(.debug_aranges) } + .debug_pubnames 0 (NOLOAD): { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 (NOLOAD): { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 (NOLOAD): { *(.debug_abbrev) } + .debug_line 0 (NOLOAD): { *(.debug_line) } + .debug_frame 0 (NOLOAD): { *(.debug_frame) } + .debug_str 0 (NOLOAD): { *(.debug_str) } + .debug_loc 0 (NOLOAD): { *(.debug_loc) } + .debug_macinfo 0 (NOLOAD): { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 (NOLOAD): { *(.debug_weaknames) } + .debug_funcnames 0 (NOLOAD): { *(.debug_funcnames) } + .debug_typenames 0 (NOLOAD): { *(.debug_typenames) } + .debug_varnames 0 (NOLOAD): { *(.debug_varnames) } + /* DWARF 3 */ + .debug_pubtypes 0 (NOLOAD): { *(.debug_pubtypes) } + .debug_ranges 0 (NOLOAD): { *(.debug_ranges) } + .gnu.attributes 0 (NOLOAD): { KEEP (*(.gnu.attributes)) } } diff --git a/board/h8300/hi_cpu2/libs/hi_cpu2.ld-boot b/board/h8300/hi_cpu2/libs/hi_cpu2.ld-boot index 6317b96..28fe36e 100644 --- a/board/h8300/hi_cpu2/libs/hi_cpu2.ld-boot +++ b/board/h8300/hi_cpu2/libs/hi_cpu2.ld-boot @@ -34,8 +34,8 @@ SECTIONS KEEP (*boot_fn.o(.rodata)) . = ALIGN( 4 ) ; ___boot_fn_end = ALIGN( 0x4 ) ; - *(.text) - *(.rodata) + *(.text .stub .text.* .gnu.linkonce.t.*) + *(.rodata .rodata.* .gnu.linkonce.r.*) _etext = ALIGN( 0x4 ) ; } > flashbb @@ -76,13 +76,41 @@ SECTIONS _usrprog_start = . ; } > flashusr - .stab 0 (NOLOAD) : - { - [ .stab ] - } - - .stabstr 0 (NOLOAD) : - { - [ .stabstr ] - } + /* Stabs debugging sections. */ + .stab 0 (NOLOAD): { *(.stab) } + .stabstr 0 (NOLOAD): { *(.stabstr) } + .stab.excl 0 (NOLOAD): { *(.stab.excl) } + .stab.exclstr 0 (NOLOAD): { *(.stab.exclstr) } + .stab.index 0 (NOLOAD): { *(.stab.index) } + .stab.indexstr 0 (NOLOAD): { *(.stab.indexstr) } + .comment 0 (NOLOAD): { *(.comment) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 (NOLOAD): { *(.debug) } + .line 0 (NOLOAD): { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 (NOLOAD): { *(.debug_srcinfo) } + .debug_sfnames 0 (NOLOAD): { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 (NOLOAD): { *(.debug_aranges) } + .debug_pubnames 0 (NOLOAD): { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 (NOLOAD): { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 (NOLOAD): { *(.debug_abbrev) } + .debug_line 0 (NOLOAD): { *(.debug_line) } + .debug_frame 0 (NOLOAD): { *(.debug_frame) } + .debug_str 0 (NOLOAD): { *(.debug_str) } + .debug_loc 0 (NOLOAD): { *(.debug_loc) } + .debug_macinfo 0 (NOLOAD): { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 (NOLOAD): { *(.debug_weaknames) } + .debug_funcnames 0 (NOLOAD): { *(.debug_funcnames) } + .debug_typenames 0 (NOLOAD): { *(.debug_typenames) } + .debug_varnames 0 (NOLOAD): { *(.debug_varnames) } + /* DWARF 3 */ + .debug_pubtypes 0 (NOLOAD): { *(.debug_pubtypes) } + .debug_ranges 0 (NOLOAD): { *(.debug_ranges) } + .gnu.attributes 0 (NOLOAD): { KEEP (*(.gnu.attributes)) } } diff --git a/board/h8300/hi_cpu2/libs/hi_cpu2.ld-cfg b/board/h8300/hi_cpu2/libs/hi_cpu2.ld-cfg index 8447778..38bb313 100644 --- a/board/h8300/hi_cpu2/libs/hi_cpu2.ld-cfg +++ b/board/h8300/hi_cpu2/libs/hi_cpu2.ld-cfg @@ -1,6 +1,8 @@ /* memory ranges configuration for ID_CPU1 board */ -OUTPUT_FORMAT("coff-h8300") +/* Do not enforce any output format to allow both COFF and ELF builds */ +/* OUTPUT_FORMAT("coff-h8300") */ +/* OUTPUT_FORMAT("elf32-h8300") */ OUTPUT_ARCH(h8300s) __flash_base = 0x000000 ; diff --git a/board/h8300/hi_cpu2/libs/hi_cpu2.ld-flash b/board/h8300/hi_cpu2/libs/hi_cpu2.ld-flash index 98ef3db..9e60f2a 100644 --- a/board/h8300/hi_cpu2/libs/hi_cpu2.ld-flash +++ b/board/h8300/hi_cpu2/libs/hi_cpu2.ld-flash @@ -24,8 +24,8 @@ SECTIONS KEEP (*boot_fn.o(.rodata)) . = ALIGN( 4 ) ; ___boot_fn_end = ALIGN( 0x4 ) ; - *(.text) - *(.rodata) + *(.text .stub .text.* .gnu.linkonce.t.*) + *(.rodata .rodata.* .gnu.linkonce.r.*) . = ALIGN( 4 ) ; ___nls_str_start = ALIGN( 0x4 ) ; *(.nls_str) @@ -82,13 +82,41 @@ SECTIONS *(.eight) } > eight - .stab 0 (NOLOAD) : - { - [ .stab ] - } - - .stabstr 0 (NOLOAD) : - { - [ .stabstr ] - } + /* Stabs debugging sections. */ + .stab 0 (NOLOAD): { *(.stab) } + .stabstr 0 (NOLOAD): { *(.stabstr) } + .stab.excl 0 (NOLOAD): { *(.stab.excl) } + .stab.exclstr 0 (NOLOAD): { *(.stab.exclstr) } + .stab.index 0 (NOLOAD): { *(.stab.index) } + .stab.indexstr 0 (NOLOAD): { *(.stab.indexstr) } + .comment 0 (NOLOAD): { *(.comment) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 (NOLOAD): { *(.debug) } + .line 0 (NOLOAD): { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 (NOLOAD): { *(.debug_srcinfo) } + .debug_sfnames 0 (NOLOAD): { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 (NOLOAD): { *(.debug_aranges) } + .debug_pubnames 0 (NOLOAD): { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 (NOLOAD): { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 (NOLOAD): { *(.debug_abbrev) } + .debug_line 0 (NOLOAD): { *(.debug_line) } + .debug_frame 0 (NOLOAD): { *(.debug_frame) } + .debug_str 0 (NOLOAD): { *(.debug_str) } + .debug_loc 0 (NOLOAD): { *(.debug_loc) } + .debug_macinfo 0 (NOLOAD): { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 (NOLOAD): { *(.debug_weaknames) } + .debug_funcnames 0 (NOLOAD): { *(.debug_funcnames) } + .debug_typenames 0 (NOLOAD): { *(.debug_typenames) } + .debug_varnames 0 (NOLOAD): { *(.debug_varnames) } + /* DWARF 3 */ + .debug_pubtypes 0 (NOLOAD): { *(.debug_pubtypes) } + .debug_ranges 0 (NOLOAD): { *(.debug_ranges) } + .gnu.attributes 0 (NOLOAD): { KEEP (*(.gnu.attributes)) } } diff --git a/board/h8300/hi_cpu2/libs/hi_cpu2.ld-flashnoram b/board/h8300/hi_cpu2/libs/hi_cpu2.ld-flashnoram index a973b2c..eaa905d 100644 --- a/board/h8300/hi_cpu2/libs/hi_cpu2.ld-flashnoram +++ b/board/h8300/hi_cpu2/libs/hi_cpu2.ld-flashnoram @@ -25,8 +25,8 @@ SECTIONS KEEP (*boot_fn.o(.rodata)) . = ALIGN( 4 ) ; ___boot_fn_end = ALIGN( 0x4 ) ; - *(.text) - *(.rodata) + *(.text .stub .text.* .gnu.linkonce.t.*) + *(.rodata .rodata.* .gnu.linkonce.r.*) . = ALIGN( 4 ) ; ___nls_str_start = ALIGN( 0x4 ) ; *(.nls_str) @@ -83,13 +83,41 @@ SECTIONS *(.eight) } > eight - .stab 0 (NOLOAD) : - { - [ .stab ] - } - - .stabstr 0 (NOLOAD) : - { - [ .stabstr ] - } + /* Stabs debugging sections. */ + .stab 0 (NOLOAD): { *(.stab) } + .stabstr 0 (NOLOAD): { *(.stabstr) } + .stab.excl 0 (NOLOAD): { *(.stab.excl) } + .stab.exclstr 0 (NOLOAD): { *(.stab.exclstr) } + .stab.index 0 (NOLOAD): { *(.stab.index) } + .stab.indexstr 0 (NOLOAD): { *(.stab.indexstr) } + .comment 0 (NOLOAD): { *(.comment) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 (NOLOAD): { *(.debug) } + .line 0 (NOLOAD): { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 (NOLOAD): { *(.debug_srcinfo) } + .debug_sfnames 0 (NOLOAD): { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 (NOLOAD): { *(.debug_aranges) } + .debug_pubnames 0 (NOLOAD): { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 (NOLOAD): { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 (NOLOAD): { *(.debug_abbrev) } + .debug_line 0 (NOLOAD): { *(.debug_line) } + .debug_frame 0 (NOLOAD): { *(.debug_frame) } + .debug_str 0 (NOLOAD): { *(.debug_str) } + .debug_loc 0 (NOLOAD): { *(.debug_loc) } + .debug_macinfo 0 (NOLOAD): { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 (NOLOAD): { *(.debug_weaknames) } + .debug_funcnames 0 (NOLOAD): { *(.debug_funcnames) } + .debug_typenames 0 (NOLOAD): { *(.debug_typenames) } + .debug_varnames 0 (NOLOAD): { *(.debug_varnames) } + /* DWARF 3 */ + .debug_pubtypes 0 (NOLOAD): { *(.debug_pubtypes) } + .debug_ranges 0 (NOLOAD): { *(.debug_ranges) } + .gnu.attributes 0 (NOLOAD): { KEEP (*(.gnu.attributes)) } } diff --git a/board/h8300/hi_cpu2/libs/hi_cpu2.ld-ram b/board/h8300/hi_cpu2/libs/hi_cpu2.ld-ram index f8787d1..b81d798 100644 --- a/board/h8300/hi_cpu2/libs/hi_cpu2.ld-ram +++ b/board/h8300/hi_cpu2/libs/hi_cpu2.ld-ram @@ -26,8 +26,8 @@ SECTIONS KEEP (*boot_fn.o(.rodata)) . = ALIGN( 4 ) ; ___boot_fn_end = ALIGN( 0x4 ) ; - *(.text) - *(.rodata) + *(.text .stub .text.* .gnu.linkonce.t.*) + *(.rodata .rodata.* .gnu.linkonce.r.*) . = ALIGN( 4 ) ; ___nls_str_start = ALIGN( 0x4 ) ; *(.nls_str) @@ -83,13 +83,41 @@ SECTIONS *(.eight) } > eight - .stab 0 (NOLOAD) : - { - [ .stab ] - } - - .stabstr 0 (NOLOAD) : - { - [ .stabstr ] - } + /* Stabs debugging sections. */ + .stab 0 (NOLOAD): { *(.stab) } + .stabstr 0 (NOLOAD): { *(.stabstr) } + .stab.excl 0 (NOLOAD): { *(.stab.excl) } + .stab.exclstr 0 (NOLOAD): { *(.stab.exclstr) } + .stab.index 0 (NOLOAD): { *(.stab.index) } + .stab.indexstr 0 (NOLOAD): { *(.stab.indexstr) } + .comment 0 (NOLOAD): { *(.comment) } + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + /* DWARF 1 */ + .debug 0 (NOLOAD): { *(.debug) } + .line 0 (NOLOAD): { *(.line) } + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 (NOLOAD): { *(.debug_srcinfo) } + .debug_sfnames 0 (NOLOAD): { *(.debug_sfnames) } + /* DWARF 1.1 and DWARF 2 */ + .debug_aranges 0 (NOLOAD): { *(.debug_aranges) } + .debug_pubnames 0 (NOLOAD): { *(.debug_pubnames) } + /* DWARF 2 */ + .debug_info 0 (NOLOAD): { *(.debug_info .gnu.linkonce.wi.*) } + .debug_abbrev 0 (NOLOAD): { *(.debug_abbrev) } + .debug_line 0 (NOLOAD): { *(.debug_line) } + .debug_frame 0 (NOLOAD): { *(.debug_frame) } + .debug_str 0 (NOLOAD): { *(.debug_str) } + .debug_loc 0 (NOLOAD): { *(.debug_loc) } + .debug_macinfo 0 (NOLOAD): { *(.debug_macinfo) } + /* SGI/MIPS DWARF 2 extensions */ + .debug_weaknames 0 (NOLOAD): { *(.debug_weaknames) } + .debug_funcnames 0 (NOLOAD): { *(.debug_funcnames) } + .debug_typenames 0 (NOLOAD): { *(.debug_typenames) } + .debug_varnames 0 (NOLOAD): { *(.debug_varnames) } + /* DWARF 3 */ + .debug_pubtypes 0 (NOLOAD): { *(.debug_pubtypes) } + .debug_ranges 0 (NOLOAD): { *(.debug_ranges) } + .gnu.attributes 0 (NOLOAD): { KEEP (*(.gnu.attributes)) } }