Retro68/binutils/ld/scripttempl/delta68.sc
2012-03-26 21:18:29 +02:00

50 lines
1.3 KiB
Scala

cat <<EOF
OUTPUT_FORMAT("${OUTPUT_FORMAT}")
OUTPUT_ARCH(${ARCH})
${RELOCATING+ENTRY (_start)}
${RELOCATING+${LIB_SEARCH_DIRS}}
SECTIONS
{
.text ${RELOCATING+ 0x2000 + SIZEOF_HEADERS} :
{
${RELOCATING+ __.text.start = .};
*(.text)
${RELOCATING+ etext = .;}
${RELOCATING+ _etext = .;}
${RELOCATING+ __.text.end = .};
${CONSTRUCTING+ __CTOR_LIST__ = .;}
${CONSTRUCTING+ LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)}
${CONSTRUCTING+ *(.ctors)}
${CONSTRUCTING+ LONG(0)}
${CONSTRUCTING+ __CTOR_END__ = .;}
${CONSTRUCTING+ __DTOR_LIST__ = .;}
${CONSTRUCTING+ LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)}
${CONSTRUCTING+ *(.dtors)}
${CONSTRUCTING+ LONG(0)}
${CONSTRUCTING+ __DTOR_END__ = .;}
}
.data ${RELOCATING+ SIZEOF(.text) + ADDR(.text) + 0x400000} :
{
${RELOCATING+ __.data.start = .};
*(.data)
${RELOCATING+ edata = .};
${RELOCATING+ _edata = .};
${RELOCATING+ __.data.end = .};
}
.bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} :
{
${RELOCATING+ __.bss.start = .};
*(.bss)
*(COMMON)
${RELOCATING+ __.bss.end = .};
${RELOCATING+ end = ALIGN(0x8)};
${RELOCATING+ _end = ALIGN(0x8)};
}
.comment ${RELOCATING+ 0} :
{
*(.comment)
}
}
EOF