80 lines
1.5 KiB
Scala
80 lines
1.5 KiB
Scala
# Copyright (C) 2014-2022 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-2022 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("${OUTPUT_FORMAT}")
|
|
OUTPUT_ARCH(${ARCH})
|
|
EOF
|
|
|
|
test -n "${RELOCATING}" && cat <<EOF
|
|
ENTRY ("_start")
|
|
MEMORY
|
|
{
|
|
vectarea : o =0xc00000, l = 0x0300
|
|
|
|
introm : o = 0xc00300, l = 0x16000
|
|
/* The stack starts at the top of main ram. */
|
|
|
|
dram : o = 0x8000 , l = 0xffff
|
|
/* At the very top of the address space is the 8-bit area. */
|
|
|
|
ldata : o =0x4000 ,l = 0x0200
|
|
}
|
|
EOF
|
|
|
|
cat <<EOF
|
|
SECTIONS
|
|
{
|
|
/*.vects :
|
|
{
|
|
*(.vects)
|
|
} ${RELOCATING+ > vectarea} */
|
|
.init :
|
|
{
|
|
KEEP (*(SORT_NONE(.init)))
|
|
${RELOCATING+KEEP (*(SORT_NONE(.fini)))}
|
|
} ${RELOCATING+ >introm}
|
|
|
|
.text :
|
|
{
|
|
${RELOCATING+*(.rodata)}
|
|
${RELOCATING+*(.text.*)}
|
|
*(.text)
|
|
${RELOCATING+ _etext = . ; }
|
|
} ${RELOCATING+ > introm}
|
|
.data :
|
|
{
|
|
*(.data)
|
|
${RELOCATING+*(.data.*)}
|
|
|
|
${RELOCATING+ _edata = . ; }
|
|
} ${RELOCATING+ > dram}
|
|
|
|
.bss :
|
|
{
|
|
${RELOCATING+ _bss_start = . ;}
|
|
*(.bss)
|
|
${RELOCATING+*(COMMON)}
|
|
${RELOCATING+ _end = . ; }
|
|
} ${RELOCATING+ > dram}
|
|
|
|
.ldata :
|
|
{
|
|
*(.ldata)
|
|
} ${RELOCATING+ > ldata}
|
|
|
|
.vects :
|
|
{
|
|
*(.vects)
|
|
} ${RELOCATING+ > vectarea}
|
|
}
|
|
EOF
|