From 98d38753e411b6547f72e00389c17cbaac2abb7a Mon Sep 17 00:00:00 2001 From: Michael Meissner Date: Tue, 9 Dec 1997 22:57:58 +0000 Subject: [PATCH] Add support for d30velf_{e,o} emulations to control whether text/data/et. al go in external memory or onchip memory --- ld/ChangeLog | 15 ++++++++++++++- ld/emulparams/.Sanitize | 2 +- ld/emulparams/d30velf_e.sh | 15 +++++++++++++++ ld/emulparams/d30velf_o.sh | 15 +++++++++++++++ 4 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 ld/emulparams/d30velf_e.sh create mode 100644 ld/emulparams/d30velf_o.sh diff --git a/ld/ChangeLog b/ld/ChangeLog index 11795ab5178..2682cda8721 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -9,7 +9,11 @@ start-sanitize-d30v end-sanitize-tic80 start-sanitize-d30v - * Makefile.{am,in}: (ALL_EMULATIONS): Add ed30velf.o. + * Makefile.{am,in}: (ALL_EMULATIONS): Add ed30velf{,_e,_o}.o. + (ed30velf_e.c): Like d30velf, except .text/.data/etc always go in + external memory. + (ed30velf_o.c): Like d30velf, except .text/.data/etc always go in + onchip memory. * emulparams/d30velf.sh (STACK_START_ADDR): Top of default stack. @@ -17,6 +21,15 @@ start-sanitize-d30v ({TEXT,DATA,BSS}_MEMORY): Which memory region .text, .data, and .bss should go in. + * emulparams/d30velf_{e,o}.sh: New files to be explicit whether + .text, .data, etc go in external memory or onchip memory. + + * configure.tgt (d30v-*-*ext*): New configuration to default + .text, .data, etc. in external memory. + (d30v-*-*onchip*): New configuration to default .text, .data, + etc. in onchip memory. + (d30v-*-*): Add d30velf_{e,o} emulations. + * scripttempl/elfd30v.sc: Allow .text, .data, .bss to be put in either the onchip text/data areas or the external memory area. (MEMORY): Get sizes from d30velf.sh. diff --git a/ld/emulparams/.Sanitize b/ld/emulparams/.Sanitize index 4cac5adbb1f..11fa7af1274 100644 --- a/ld/emulparams/.Sanitize +++ b/ld/emulparams/.Sanitize @@ -15,7 +15,7 @@ Do-first: -d30v_files="d30velf.sh" +d30v_files="d30velf.sh d30velf_o.sh d30velf_e.sh" if ( echo $* | grep keep\-d30v > /dev/null ) ; then keep_these_too="${d30v_files} ${keep_these_too}" diff --git a/ld/emulparams/d30velf_e.sh b/ld/emulparams/d30velf_e.sh new file mode 100644 index 00000000000..3e6135a9fe9 --- /dev/null +++ b/ld/emulparams/d30velf_e.sh @@ -0,0 +1,15 @@ +MACHINE= +SCRIPT_NAME=elfd30v +OUTPUT_FORMAT="elf32-d30v" +TEXT_START_ADDR=0x00000000 +DATA_START_ADDR=0x20000000 +EMEM_START_ADDR=0x80000000 +STACK_START_ADDR=0x20008000 +TEXT_SIZE=64K +DATA_SIZE=32K +EMEM_SIZE=8M +TEXT_MEMORY=emem +DATA_MEMORY=emem +BSS_MEMORY=emem +ARCH=d30v +EMBEDDED=t diff --git a/ld/emulparams/d30velf_o.sh b/ld/emulparams/d30velf_o.sh new file mode 100644 index 00000000000..001fb07c82b --- /dev/null +++ b/ld/emulparams/d30velf_o.sh @@ -0,0 +1,15 @@ +MACHINE= +SCRIPT_NAME=elfd30v +OUTPUT_FORMAT="elf32-d30v" +TEXT_START_ADDR=0x00000000 +DATA_START_ADDR=0x20000000 +EMEM_START_ADDR=0x80000000 +STACK_START_ADDR=0x20008000 +TEXT_SIZE=64K +DATA_SIZE=32K +EMEM_SIZE=8M +TEXT_MEMORY=text +DATA_MEMORY=data +BSS_MEMORY=data +ARCH=d30v +EMBEDDED=t -- 2.30.2