From cb0728165e282be2ad9b121c8c1e9da98c9784e4 Mon Sep 17 00:00:00 2001 From: Senthil Kumar Selvaraj Date: Tue, 24 Feb 2015 11:26:28 +0000 Subject: [PATCH] This patch modifies the AVR linker script templates to use ___REGION_LENGTH__ symbols, if provided, for setting memory region lengths, defaulting to the current constant values otherwise. ld * scripttempl/avr.sc: Add new user_signatures region. Define and Use symbols for all region lengths. * scripttempl/avrtiny.sc: Define and use symbols for all region lengths. testsuite * ld-avr/region_overflow.d: New test. * ld-avr/region_overflow.s: Likewise. --- ld/ChangeLog | 7 +++++++ ld/scripttempl/avr.sc | 21 +++++++++++++++------ ld/scripttempl/avrtiny.sc | 16 +++++++++++----- ld/testsuite/ChangeLog | 5 +++++ ld/testsuite/ld-avr/region_overflow.d | 6 ++++++ ld/testsuite/ld-avr/region_overflow.s | 5 +++++ 6 files changed, 49 insertions(+), 11 deletions(-) create mode 100644 ld/testsuite/ld-avr/region_overflow.d create mode 100644 ld/testsuite/ld-avr/region_overflow.s diff --git a/ld/ChangeLog b/ld/ChangeLog index d952670..4db576c 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2015-02-24 Senthil Kumar Selvaraj + + * scripttempl/avr.sc: Add new user_signatures region. Define and + use symbols for all region lengths. + * scripttempl/avrtiny.sc: Define and use symbols for all region + lengths. + 2015-01-21 Yoshinori Sato * Makefile.am: (ALL_EMULATION_SOURCES): Add new emulations. diff --git a/ld/scripttempl/avr.sc b/ld/scripttempl/avr.sc index cc4561f..038e7ab 100644 --- a/ld/scripttempl/avr.sc +++ b/ld/scripttempl/avr.sc @@ -14,14 +14,23 @@ cat < + + * ld-avr/region_overflow.d: New test. + * ld-avr/region_overflow.s: Likewise. + 2015-02-19 H.J. Lu PR ld/4317 diff --git a/ld/testsuite/ld-avr/region_overflow.d b/ld/testsuite/ld-avr/region_overflow.d new file mode 100644 index 0000000..305d242 --- /dev/null +++ b/ld/testsuite/ld-avr/region_overflow.d @@ -0,0 +1,6 @@ +#name: AVR catch region overflow errors +#as: -mmcu=avrxmega2 +#ld: -mavrxmega2 --relax --defsym __TEXT_REGION_LENGTH__=2 +#source: region_overflow.s +#target: avr-*-* +#error: `.text' will not fit in region `text' diff --git a/ld/testsuite/ld-avr/region_overflow.s b/ld/testsuite/ld-avr/region_overflow.s new file mode 100644 index 0000000..c2899e7 --- /dev/null +++ b/ld/testsuite/ld-avr/region_overflow.s @@ -0,0 +1,5 @@ +.section .text +.byte 0xA +.byte 0xB +.byte 0xC +.byte 0xD -- 2.7.4