From fa4ab4f6ab07117dd95ad284b2b9afff5c81c376 Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Mon, 5 Dec 2011 17:21:05 -0500 Subject: [PATCH] Adding --relax flag for linking of ATmega2560 code. (arducopter) http://code.google.com/p/arduino/issues/detail?id=729 --- app/src/processing/app/debug/Compiler.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/processing/app/debug/Compiler.java b/app/src/processing/app/debug/Compiler.java index 17b7a23b2..0d61d32c0 100644 --- a/app/src/processing/app/debug/Compiler.java +++ b/app/src/processing/app/debug/Compiler.java @@ -183,12 +183,18 @@ public class Compiler implements MessageConsumer { } // 4. link it all together into the .elf file - + // For atmega2560, need --relax linker option to link larger + // programs correctly. + String optRelax = ""; + String atmega2560 = new String ("atmega2560"); + if ( atmega2560.equals(boardPreferences.get("build.mcu")) ) { + optRelax = new String(",--relax"); + } sketch.setCompilingProgress(60); List baseCommandLinker = new ArrayList(Arrays.asList(new String[] { avrBasePath + "avr-gcc", "-Os", - "-Wl,--gc-sections", + "-Wl,--gc-sections"+optRelax, "-mmcu=" + boardPreferences.get("build.mcu"), "-o", buildPath + File.separator + primaryClassName + ".elf"