Add support for d30velf_{e,o} emulations to control whether text/data/et. al go in...
authorMichael Meissner <gnu@the-meissners.org>
Tue, 9 Dec 1997 22:57:58 +0000 (22:57 +0000)
committerMichael Meissner <gnu@the-meissners.org>
Tue, 9 Dec 1997 22:57:58 +0000 (22:57 +0000)
ld/ChangeLog
ld/emulparams/.Sanitize
ld/emulparams/d30velf_e.sh [new file with mode: 0644]
ld/emulparams/d30velf_o.sh [new file with mode: 0644]

index 11795ab51782ae457c7a54653736e7d2547e3f2a..2682cda8721be0a0ec8a16b2dfa3c7a7aedea2fc 100644 (file)
@@ -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.
index 4cac5adbb1f7829484ba464e8e179740e62b51af..11fa7af127436e3fcd8fc8128fe5d8ea8b2bd9da 100644 (file)
@@ -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 (file)
index 0000000..3e6135a
--- /dev/null
@@ -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 (file)
index 0000000..001fb07
--- /dev/null
@@ -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