58 lines
1.6 KiB
Bash
58 lines
1.6 KiB
Bash
MACHINE=
|
|
SCRIPT_NAME=mep
|
|
OUTPUT_FORMAT="elf32-mep-little"
|
|
TEXT_START_ADDR=0x1000
|
|
ARCH=mep
|
|
MAXPAGESIZE=256
|
|
ENTRY=_start
|
|
EMBEDDED=yes
|
|
TEMPLATE_NAME=elf
|
|
|
|
if test -n "${RELOCATING}"; then
|
|
DATA_START_SYMBOLS='__data_start = . ;'
|
|
OTHER_GOT_SYMBOLS='
|
|
. = ALIGN(4);
|
|
__sdabase = . + 0x8000;
|
|
.srodata : { *(.srodata) *(.srodata.*) *(.gnu.linkonce.srd.*) }
|
|
'
|
|
OTHER_SDATA_SECTIONS='
|
|
PROVIDE (__sdabase = .);
|
|
__assert_tiny_size = ASSERT ((. < __sdabase) || ((. - __sdabase) <= 0x8000),
|
|
"tiny section overflow");
|
|
'
|
|
OTHER_READONLY_SECTIONS='
|
|
__stack = 0x001ffff0;
|
|
__stack_size = 0x100000;
|
|
__stack0 = (__stack - (0 * (__stack_size / 1)) + 15) / 16 * 16;
|
|
|
|
.rostacktab :
|
|
{
|
|
/* Emit a table describing the location of the different stacks.
|
|
Only 1 processor in the default configuration. */
|
|
. = ALIGN(4);
|
|
__stack_table = .;
|
|
LONG (__stack0);
|
|
}
|
|
'
|
|
OTHER_END_SYMBOLS='
|
|
PROVIDE (__heap = _end);
|
|
PROVIDE (__heap_end = 0);
|
|
'
|
|
OTHER_TEXT_SECTIONS='
|
|
*(.ftext) *(.ftext.*) *(.gnu.linkonce.ft.*)
|
|
. = ALIGN(8);
|
|
*(.vftext) *(.vftext.*) *(.gnu.linkonce.vf.*)
|
|
*(.frodata) *(.frodata.*) *(.gnu.linkonce.frd.*)
|
|
'
|
|
OTHER_READWRITE_SECTIONS='
|
|
. = ALIGN(4);
|
|
__tpbase = .;
|
|
.based : { *(.based) *(.based.*) *(.gnu.linkonce.based.*) }
|
|
__assert_based_size = ASSERT ((. - __tpbase) <= 0x80, "based section overflow");
|
|
.far : { *(.far) *(.far.*) *(.gnu.linkonce.far.*) }
|
|
'
|
|
OTHER_BSS_SECTIONS='
|
|
__assert_near_size = ASSERT (. <= 0x1000000, "near section overflow");
|
|
.farbss : { PROVIDE (__farbss_start = .); *(.farbss) *(.farbss.*) PROVIDE (__farbss_end = .); }
|
|
'
|
|
fi
|