diff options
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/config/avr/gen-avr-mmcu-specs.c | 14 | ||||
-rw-r--r-- | gcc/config/avr/specs.h | 1 |
3 files changed, 15 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c2c82d3..a833914 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2019-11-20 Georg-Johann Lay <avr@gjlay.de> + + Make 0-series device specs work with older versions of avr-gcc. + + PR target/92545 + * config/avr/specs.h (LINK_SPEC) <%(link_pm_base_address)>: Remove. + * config/avr/gen-avr-mmcu-specs.c (print_mcu) + <*link_pm_base_address>: Don't write spec. + <*link_arch>: Add --defsym=__RODATA_PM_OFFSET__= as needed. + 2019-11-20 Richard Biener <rguenther@suse.de> PR c/92088 diff --git a/gcc/config/avr/gen-avr-mmcu-specs.c b/gcc/config/avr/gen-avr-mmcu-specs.c index f629db4..363d703 100644 --- a/gcc/config/avr/gen-avr-mmcu-specs.c +++ b/gcc/config/avr/gen-avr-mmcu-specs.c @@ -253,7 +253,11 @@ print_mcu (const avr_mcu_t *mcu) fprintf (f, "*link_relax:\n\t%s\n\n", LINK_RELAX_SPEC); - fprintf (f, "*link_arch:\n\t%s\n\n", LINK_ARCH_SPEC); + fprintf (f, "*link_arch:\n\t%s", LINK_ARCH_SPEC); + if (is_device + && flash_pm_offset) + fprintf (f, " --defsym=__RODATA_PM_OFFSET__=0x%x", flash_pm_offset); + fprintf (f, "\n\n"); if (is_device) { @@ -270,14 +274,6 @@ print_mcu (const avr_mcu_t *mcu) fprintf (f, "\n\n"); } - if (is_device - && flash_pm_offset) - { - fprintf (f, "*link_pm_base_address:\n"); - fprintf (f, "\t--defsym=__RODATA_PM_OFFSET__=0x%x", flash_pm_offset); - fprintf (f, "\n\n"); - } - // Specs known to GCC. if (is_device) diff --git a/gcc/config/avr/specs.h b/gcc/config/avr/specs.h index b6fe4c8..736ff62 100644 --- a/gcc/config/avr/specs.h +++ b/gcc/config/avr/specs.h @@ -68,7 +68,6 @@ along with GCC; see the file COPYING3. If not see "%(link_text_start) " \ "%(link_relax) " \ "%(link_pmem_wrap) " \ - "%(link_pm_base_address) " \ "%{shared:%eshared is not supported} " #undef LIB_SPEC |