diff options
Diffstat (limited to 'ld/scripttempl')
-rw-r--r-- | ld/scripttempl/elf32cr16c.sc | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/ld/scripttempl/elf32cr16c.sc b/ld/scripttempl/elf32cr16c.sc deleted file mode 100644 index 5c120cf..0000000 --- a/ld/scripttempl/elf32cr16c.sc +++ /dev/null @@ -1,66 +0,0 @@ -# Linker Script for National Semiconductor's CR16C-ELF32. -# -# Copyright (C) 2014-2019 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. - -# Using an empty script for ld -r is better than mashing together -# sections. This hack likely leaves ld -Ur broken. -test -n "${RELOCATING}" || exit 0 - -test -z "$ENTRY" && ENTRY=_start -cat <<EOF - -/* Example Linker Script for linking NS CR16C or CR16CPlus - elf32 files, which were compiled with either the near data - model or the default data model. - - Copyright (C) 2014-2019 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. */ - -EOF -test -n "${RELOCATING}" && cat <<EOF -ENTRY(${ENTRY}) - -MEMORY -{ - near_rom : ORIGIN = 0x4, LENGTH = 512K - 4 - near_ram : ORIGIN = 512K, LENGTH = 512K - 64K - rom : ORIGIN = 1M, LENGTH = 3M - ram : ORIGIN = 4M, LENGTH = 10M -} - -EOF - -cat <<EOF -SECTIONS -{ -/* The heap is located in near memory, to suit both the near and - default data models. The heap and stack are aligned to the bus - width, as a speed optimization for accessing data located - there. The alignment to 4 bytes is compatible for both the CR16C - bus width (2 bytes) and CR16CPlus bus width (4 bytes). */ - - .text : { __TEXT_START = .; *(.text) __TEXT_END = .; }${RELOCATING+ > rom} - .rdata : { __RDATA_START = .; *(.rdata_4) *(.rdata_2) *(.rdata_1) __RDATA_END = .; }${RELOCATING+ > near_rom} - .ctor ALIGN(4) : { __CTOR_LIST = .; *(.ctors) __CTOR_END = .; }${RELOCATING+ > near_rom} - .dtor ALIGN(4) : { __DTOR_LIST = .; *(.dtors) __DTOR_END = .; }${RELOCATING+ > near_rom} - .data : { __DATA_START = .; *(.data_4) *(.data_2) *(.data_1) *(.data) __DATA_END = .; }${RELOCATING+ > ram AT > rom} - .bss (NOLOAD) : { __BSS_START = .; *(.bss_4) *(.bss_2) *(.bss_1) *(.bss) *(COMMON) __BSS_END = .; }${RELOCATING+ > ram} - .nrdata : { __NRDATA_START = .; *(.nrdat_4) *(.nrdat_2) *(.nrdat_1) __NRDATA_END = .; }${RELOCATING+ > near_rom} - .ndata : { __NDATA_START = .; *(.ndata_4) *(.ndata_2) *(.ndata_1) __NDATA_END = .; }${RELOCATING+ > near_ram AT > rom} - .nbss (NOLOAD) : { __NBSS_START = .; *(.nbss_4) *(.nbss_2) *(.nbss_1) *(.ncommon) __NBSS_END = .; }${RELOCATING+ > near_ram} - .heap (NOLOAD) : { . = ALIGN(4); __HEAP_START = .; . += 0x2000; __HEAP_MAX = .; }${RELOCATING+ > near_ram} - .stack (NOLOAD) : { . = ALIGN(4); . += 0x6000; __STACK_START = .; }${RELOCATING+ > ram} - .istack (NOLOAD) : { . = ALIGN(2); . += 0x100; __ISTACK_START = .; }${RELOCATING+ > ram} -} - -${RELOCATING+__DATA_IMAGE_START = LOADADDR(.data);} -${RELOCATING+__NDATA_IMAGE_START = LOADADDR(.ndata);} - -EOF |