On Tuesday 08 November 2016 02:57 PM, Georg-Johann Lay wrote:
On 08.11.2016 08:08, Pitchumani Sivanupandi wrote:
I have updated patch to include the flash size as well. Took that
info from
device headers (it was fed into crt's device information note section
also).
The new option would render -mn-flash superfluous, but we should
keep it for
backward compatibility.
Ok.
Shouldn't link_pmem_wrap then be removed from link_relax, i.e. from
LINK_RELAX_SPEC? And what happens if relaxation is off?
Yes. Removed link_pmem_wrap from link_relax.
Disabling relaxation doesn't change -mpmem-wrap-around behavior.
....
flashsize-and-wrap-around.patch
diff --git a/gcc/config/avr/avr-mcus.def
b/gcc/config/avr/avr-mcus.def
index 6bcc6ff..9d4aa1a 100644
/*
....
/* Classic, > 8K, <= 64K. */
-AVR_MCU ("avr3", ARCH_AVR3, AVR_ISA_NONE, NULL,
0x0060, 0x0, 1)
-AVR_MCU ("at43usb355", ARCH_AVR3, AVR_ISA_NONE,
"__AVR_AT43USB355__", 0x0060, 0x0, 1)
-AVR_MCU ("at76c711", ARCH_AVR3, AVR_ISA_NONE,
"__AVR_AT76C711__", 0x0060, 0x0, 1)
+AVR_MCU ("avr3", ARCH_AVR3, AVR_ISA_NONE, NULL,
0x0060, 0x0, 1, 0x6000)
+AVR_MCU ("at43usb355", ARCH_AVR3, AVR_ISA_NONE,
"__AVR_AT43USB355__", 0x0060, 0x0, 1, 0x6000)
+AVR_MCU ("at76c711", ARCH_AVR3, AVR_ISA_NONE,
"__AVR_AT76C711__", 0x0060, 0x0, 1, 0x4000)
+AVR_MCU ("at43usb320", ARCH_AVR3, AVR_ISA_NONE,
"__AVR_AT43USB320__", 0x0060, 0x0, 1, 0x10000)
/* Classic, == 128K. */
-AVR_MCU ("avr31", ARCH_AVR31, AVR_ERRATA_SKIP, NULL,
0x0060, 0x0, 2)
-AVR_MCU ("atmega103", ARCH_AVR31, AVR_ERRATA_SKIP,
"__AVR_ATmega103__", 0x0060, 0x0, 2)
-AVR_MCU ("at43usb320", ARCH_AVR31, AVR_ISA_NONE,
"__AVR_AT43USB320__", 0x0060, 0x0, 2)
+AVR_MCU ("avr31", ARCH_AVR31, AVR_ERRATA_SKIP, NULL,
0x0060, 0x0, 2, 0x20000)
+AVR_MCU ("atmega103", ARCH_AVR31, AVR_ERRATA_SKIP,
"__AVR_ATmega103__", 0x0060, 0x0, 2, 0x20000)
/* Classic + MOVW + JMP/CALL. */