diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2017-06-13 16:50:26 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2017-06-13 16:50:26 +0100 |
commit | 6490dc678bc35f2204afb38449de5127ef8bcca0 (patch) | |
tree | 7b90f28032aa8c798149c76a5fbae3cb993ca9e8 /ld/emulparams | |
parent | dc74becf498f60c842d81eb6e98cfcbc3f167c22 (diff) | |
download | gdb-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.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/avr2.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/avr25.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/avr3.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/avr31.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/avr35.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/avr4.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/avr5.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/avr51.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/avr6.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/avrtiny.sh | 10 | ||||
-rw-r--r-- | ld/emulparams/avrxmega1.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/avrxmega2.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/avrxmega3.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/avrxmega4.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/avrxmega5.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/avrxmega6.sh | 8 | ||||
-rw-r--r-- | ld/emulparams/avrxmega7.sh | 8 |
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 |