+# Copyright (C) 2014-2018 Free Software Foundation, Inc.
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.
+
cat << EOF
+/* Copyright (C) 2014-2018 Free Software Foundation, Inc.
+
+ Copying and distribution of this script, with or without modification,
+ are permitted in any medium without royalty provided the copyright
+ notice and this notice are preserved. */
+
OUTPUT_FORMAT("elf32-v850", "elf32-v850",
"elf32-v850")
-OUTPUT_ARCH(v850)
+OUTPUT_ARCH(v850:old-gcc-abi)
${RELOCATING+ENTRY(_start)}
SEARCH_DIR(.);
-EXTERN(__ctbp __ep __gp);
+${RELOCATING+EXTERN(__ctbp __ep __gp)};
SECTIONS
{
/* This saves a little space in the ELF file, since the zda starts
}
/* This is the read only part of the zero data area.
- Having it as a seperate section prevents its
+ Having it as a separate section prevents its
attributes from being inherited by the zdata
section. Specifically it prevents the zdata
section from being marked READONLY. */
{
*(.text)
${RELOCATING+*(.text.*)}
-
+
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
*(.gnu.linkonce.t*)
${RELOCATING+PROVIDE(__ctbp = .);}
*(.call_table_data)
} = 0xff /* Fill gaps with 0xff. */
-
+
.call_table_text :
{
*(.call_table_text)
/* We want the small data sections together, so single-instruction offsets
can access them all, and initialized data all before uninitialized, so
we can shorten the on-disk segment size. */
-
+
.sdata ${SDATA_START_ADDR} :
{
${RELOCATING+PROVIDE (__gp = . + 0x8000);}
}
/* We place the .sbss data section AFTER the .rosdata section, so that
- it can directly preceed the .bss section. This allows runtime startup
+ it can directly precede the .bss section. This allows runtime startup
code to initialise all the zero-data sections by simply taking the
value of '_edata' and zeroing until it reaches '_end'. */
-
+
.sbss :
{
${RELOCATING+__sbss_start = .;}
${RELOCATING+_end = . ;}
${RELOCATING+PROVIDE (end = .);}
+ ${RELOCATING+PROVIDE (_heap_start = .);}
+
+ .note.renesas 0 : { KEEP(*(.note.renesas)) }
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }
.stab.indexstr 0 : { *(.stab.indexstr) }
.comment 0 : { *(.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 : { *(.debug) }
- .line 0 : { *(.line) }
-
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo .zdebug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames .zdebug_sfnames) }
-
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges .zdebug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames .zdebug_pubnames) }
-
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info${RELOCATING+ .gnu.linkonce.wi.*} .zdebug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev .zdebug_abbrev) }
- .debug_line 0 : { *(.debug_line .zdebug_line) }
- .debug_frame 0 : { *(.debug_frame .zdebug_frame) }
- .debug_str 0 : { *(.debug_str .zdebug_str) }
- .debug_loc 0 : { *(.debug_loc .zdebug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo .zdebug_macinfo) }
-
- /* SGI/MIPS DWARF 2 extensions. */
- .debug_weaknames 0 : { *(.debug_weaknames .zdebug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames .zdebug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames .zdebug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames .zdebug_varnames) }
+EOF
+
+. $srcdir/scripttempl/DWARF.sc
+cat <<EOF
/* User stack. */
.stack 0x200000 :
{