aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/avr/gen-avr-mmcu-specs.c14
-rw-r--r--gcc/config/avr/specs.h1
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