aboutsummaryrefslogtreecommitdiff
path: root/ld/emulparams
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2017-06-13 16:50:26 +0100
committerNick Clifton <nickc@redhat.com>2017-06-13 16:50:26 +0100
commit6490dc678bc35f2204afb38449de5127ef8bcca0 (patch)
tree7b90f28032aa8c798149c76a5fbae3cb993ca9e8 /ld/emulparams
parentdc74becf498f60c842d81eb6e98cfcbc3f167c22 (diff)
downloadgdb-6490dc678bc35f2204afb38449de5127ef8bcca0.zip
gdb-6490dc678bc35f2204afb38449de5127ef8bcca0.tar.gz
gdb-6490dc678bc35f2204afb38449de5127ef8bcca0.tar.bz2
Replace multiple AVR scripts with a single, customizable linker script.
PR ld/21569 * scripttempl/avrtiny.sc: Remove file. * Makefile.am (eavrtiny.c): Depend on avr.sc, no more on avrtiny.sc. * Makefile.in: Regenerate. * emulparams/avrtiny.sh (SCRIPT_NAME): Set var to "avr". (TEXT_ORIGIN): Remove var. (FUSE_NAME, FUSE_LENGTH, LOCK_LENGTH, SIGNATURE_LENGTH) (RODATA_PM_OFFSET): Set new vars. * emulparams/avr1.sh (FUSE_NAME, EEPROM_LENGTH, FUSE_LENGTH) (LOCK_LENGTH, SIGNATURE_LENGTH, USER_SIGNATURE_LENGTH): Set new vars. * emulparams/avr2.sh: Same. * emulparams/avr25.sh: Same. * emulparams/avr3.sh: Same. * emulparams/avr31.sh: Same. * emulparams/avr35.sh: Same. * emulparams/avr4.sh: Same. * emulparams/avr5.sh: Same. * emulparams/avr51.sh: Same. * emulparams/avr6.sh: Same. * emulparams/avrxmega1.sh: Same. * emulparams/avrxmega2.sh: Same. * emulparams/avrxmega3.sh: Same. * emulparams/avrxmega4.sh: Same. * emulparams/avrxmega5.sh: Same. * emulparams/avrxmega6.sh: Same. * emulparams/avrxmega7.sh: Same. * scripttempl/avr.sc (__EEPROM_REGION_LENGTH__): Only define if EEPROM_LENGTH is set. (MEMORY) [eeprom]: Same. (SECTIONS) [.eeprom]: Same for output section. (__USER_SIGNATURE_REGION_LENGTH__): Only define if USER_SIGNATURE_LENGTH is set. (MEMORY) [user_signatures]: Same. (SECTIONS) [.fuse]: Only define output section if FUSE_NAME = fuse. (SECTIONS) [.config]: Only define output section if FUSE_NAME = config.
Diffstat (limited to 'ld/emulparams')
-rw-r--r--ld/emulparams/avr1.sh8
-rw-r--r--ld/emulparams/avr2.sh8
-rw-r--r--ld/emulparams/avr25.sh8
-rw-r--r--ld/emulparams/avr3.sh8
-rw-r--r--ld/emulparams/avr31.sh8
-rw-r--r--ld/emulparams/avr35.sh8
-rw-r--r--ld/emulparams/avr4.sh8
-rw-r--r--ld/emulparams/avr5.sh8
-rw-r--r--ld/emulparams/avr51.sh8
-rw-r--r--ld/emulparams/avr6.sh8
-rw-r--r--ld/emulparams/avrtiny.sh10
-rw-r--r--ld/emulparams/avrxmega1.sh8
-rw-r--r--ld/emulparams/avrxmega2.sh8
-rw-r--r--ld/emulparams/avrxmega3.sh8
-rw-r--r--ld/emulparams/avrxmega4.sh8
-rw-r--r--ld/emulparams/avrxmega5.sh8
-rw-r--r--ld/emulparams/avrxmega6.sh8
-rw-r--r--ld/emulparams/avrxmega7.sh8
18 files changed, 144 insertions, 2 deletions
diff --git a/ld/emulparams/avr1.sh b/ld/emulparams/avr1.sh
index 2f6af99..0fa6eed 100644
--- a/ld/emulparams/avr1.sh
+++ b/ld/emulparams/avr1.sh
@@ -10,3 +10,11 @@ TEXT_LENGTH=8K
DATA_ORIGIN=0x800060
DATA_LENGTH=0
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K
diff --git a/ld/emulparams/avr2.sh b/ld/emulparams/avr2.sh
index cb35bb9..e0bdc21a 100644
--- a/ld/emulparams/avr2.sh
+++ b/ld/emulparams/avr2.sh
@@ -10,3 +10,11 @@ TEXT_LENGTH=8K
DATA_ORIGIN=0x800060
DATA_LENGTH=0xffa0
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K
diff --git a/ld/emulparams/avr25.sh b/ld/emulparams/avr25.sh
index 2965347..4a6e0a3 100644
--- a/ld/emulparams/avr25.sh
+++ b/ld/emulparams/avr25.sh
@@ -10,3 +10,11 @@ TEXT_LENGTH=8K
DATA_ORIGIN=0x800060
DATA_LENGTH=0xffa0
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K
diff --git a/ld/emulparams/avr3.sh b/ld/emulparams/avr3.sh
index a0b86c4..f02dd39 100644
--- a/ld/emulparams/avr3.sh
+++ b/ld/emulparams/avr3.sh
@@ -10,3 +10,11 @@ TEXT_LENGTH=128K
DATA_ORIGIN=0x800060
DATA_LENGTH=0xffa0
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K
diff --git a/ld/emulparams/avr31.sh b/ld/emulparams/avr31.sh
index 6e1ee0a..0bf3c0f 100644
--- a/ld/emulparams/avr31.sh
+++ b/ld/emulparams/avr31.sh
@@ -10,3 +10,11 @@ TEXT_LENGTH=128K
DATA_ORIGIN=0x800060
DATA_LENGTH=0xffa0
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K
diff --git a/ld/emulparams/avr35.sh b/ld/emulparams/avr35.sh
index abc6790..fe83dc8 100644
--- a/ld/emulparams/avr35.sh
+++ b/ld/emulparams/avr35.sh
@@ -10,3 +10,11 @@ TEXT_LENGTH=64K
DATA_ORIGIN=0x800060
DATA_LENGTH=0xffa0
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K
diff --git a/ld/emulparams/avr4.sh b/ld/emulparams/avr4.sh
index deaf3e7..ccda23f 100644
--- a/ld/emulparams/avr4.sh
+++ b/ld/emulparams/avr4.sh
@@ -10,3 +10,11 @@ TEXT_LENGTH=8K
DATA_ORIGIN=0x800060
DATA_LENGTH=0xffa0
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K
diff --git a/ld/emulparams/avr5.sh b/ld/emulparams/avr5.sh
index 2d0fc4f..64e9d66 100644
--- a/ld/emulparams/avr5.sh
+++ b/ld/emulparams/avr5.sh
@@ -10,3 +10,11 @@ TEXT_LENGTH=128K
DATA_ORIGIN=0x800060
DATA_LENGTH=0xffa0
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K
diff --git a/ld/emulparams/avr51.sh b/ld/emulparams/avr51.sh
index 2069dfe..b097771 100644
--- a/ld/emulparams/avr51.sh
+++ b/ld/emulparams/avr51.sh
@@ -10,3 +10,11 @@ TEXT_LENGTH=128K
DATA_ORIGIN=0x800100
DATA_LENGTH=0xff00
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K
diff --git a/ld/emulparams/avr6.sh b/ld/emulparams/avr6.sh
index c1a4fab..10efa6f 100644
--- a/ld/emulparams/avr6.sh
+++ b/ld/emulparams/avr6.sh
@@ -10,3 +10,11 @@ TEXT_LENGTH=1024K
DATA_ORIGIN=0x800200
DATA_LENGTH=0xfe00
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K
diff --git a/ld/emulparams/avrtiny.sh b/ld/emulparams/avrtiny.sh
index b4ed14b..4aca22b 100644
--- a/ld/emulparams/avrtiny.sh
+++ b/ld/emulparams/avrtiny.sh
@@ -1,13 +1,19 @@
ARCH=avr:100
MACHINE=
-SCRIPT_NAME=avrtiny
+SCRIPT_NAME=avr
OUTPUT_FORMAT="elf32-avr"
MAXPAGESIZE=1
EMBEDDED=yes
TEMPLATE_NAME=elf32
-TEXT_ORIGIN=0x0
TEXT_LENGTH=4K
DATA_ORIGIN=0x0800040
DATA_LENGTH=0x100
+RODATA_PM_OFFSET=0x4000
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=config
+
+FUSE_LENGTH=2
+LOCK_LENGTH=2
+SIGNATURE_LENGTH=4
diff --git a/ld/emulparams/avrxmega1.sh b/ld/emulparams/avrxmega1.sh
index 95e8aac..722ee18 100644
--- a/ld/emulparams/avrxmega1.sh
+++ b/ld/emulparams/avrxmega1.sh
@@ -10,3 +10,11 @@ TEXT_LENGTH=1024K
DATA_ORIGIN=0x802000
DATA_LENGTH=0xffa0
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K
diff --git a/ld/emulparams/avrxmega2.sh b/ld/emulparams/avrxmega2.sh
index f282a69..d9211b2 100644
--- a/ld/emulparams/avrxmega2.sh
+++ b/ld/emulparams/avrxmega2.sh
@@ -10,3 +10,11 @@ TEXT_LENGTH=1024K
DATA_ORIGIN=0x802000
DATA_LENGTH=0xffa0
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K
diff --git a/ld/emulparams/avrxmega3.sh b/ld/emulparams/avrxmega3.sh
index 7c5a1e5..b33f895 100644
--- a/ld/emulparams/avrxmega3.sh
+++ b/ld/emulparams/avrxmega3.sh
@@ -11,3 +11,11 @@ DATA_ORIGIN=0x802000
DATA_LENGTH=0xffa0
RODATA_PM_OFFSET=0x8000
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K
diff --git a/ld/emulparams/avrxmega4.sh b/ld/emulparams/avrxmega4.sh
index 829c8b7..02ef7d7 100644
--- a/ld/emulparams/avrxmega4.sh
+++ b/ld/emulparams/avrxmega4.sh
@@ -10,3 +10,11 @@ TEXT_LENGTH=1024K
DATA_ORIGIN=0x802000
DATA_LENGTH=0xffa0
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K
diff --git a/ld/emulparams/avrxmega5.sh b/ld/emulparams/avrxmega5.sh
index 0a09aee..93b69da 100644
--- a/ld/emulparams/avrxmega5.sh
+++ b/ld/emulparams/avrxmega5.sh
@@ -10,3 +10,11 @@ TEXT_LENGTH=1024K
DATA_ORIGIN=0x802000
DATA_LENGTH=0xffa0
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K
diff --git a/ld/emulparams/avrxmega6.sh b/ld/emulparams/avrxmega6.sh
index 3c3a468..f7dae40 100644
--- a/ld/emulparams/avrxmega6.sh
+++ b/ld/emulparams/avrxmega6.sh
@@ -10,3 +10,11 @@ TEXT_LENGTH=1024K
DATA_ORIGIN=0x802000
DATA_LENGTH=0xffa0
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K
diff --git a/ld/emulparams/avrxmega7.sh b/ld/emulparams/avrxmega7.sh
index b84a0ba..578f52a 100644
--- a/ld/emulparams/avrxmega7.sh
+++ b/ld/emulparams/avrxmega7.sh
@@ -10,3 +10,11 @@ TEXT_LENGTH=1024K
DATA_ORIGIN=0x802000
DATA_LENGTH=0xffa0
EXTRA_EM_FILE=avrelf
+
+FUSE_NAME=fuse
+
+EEPROM_LENGTH=64K
+FUSE_LENGTH=1K
+LOCK_LENGTH=1K
+SIGNATURE_LENGTH=1K
+USER_SIGNATURE_LENGTH=1K