From 4453133d3c94b7727214631d83b2eddf641012c4 Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Sat, 2 Jun 2012 10:50:38 +0000
Subject: [PATCH] Disable linker relaxations for the UC3 architecture, as this
 does not appear to be supported in the linker.

---
 LUFA/Build/lufa.build.in | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/LUFA/Build/lufa.build.in b/LUFA/Build/lufa.build.in
index 158eb24c0..d39ab72aa 100644
--- a/LUFA/Build/lufa.build.in
+++ b/LUFA/Build/lufa.build.in
@@ -93,13 +93,13 @@ ASM_SOURCE = $(filter %.S, $(SRC))
 OBJECT_FILES = $(filter %.o, $(C_SOURCE:%.c=%.o) $(CPP_SOURCE:%.cpp=%.o) $(ASM_SOURCE:%.S=%.o))
 
 # Create a list of flags to pass to the compiler
-ifeq ($(ARCH),AVR8)
+ifneq ($(ARCH), AVR8)
  CC_FLAGS += -mmcu=$(MCU) -gdwarf-2 -fshort-enums -fno-inline-small-functions -fpack-struct
  CROSS     = avr-
-else ifeq ($(ARCH),XMEGA)
+else ifeq ($(ARCH), XMEGA)
  CC_FLAGS += -mmcu=$(MCU) -gdwarf-2 -fshort-enums -fno-inline-small-functions -fpack-struct
  CROSS     = avr-
-else ifeq ($(ARCH),UC3)
+else ifeq ($(ARCH), UC3)
  CC_FLAGS += -mpart=$(MCU) -g3 -masm-addr-pseudos
  CROSS     = avr32-
 endif
@@ -112,7 +112,10 @@ ifneq ($(F_CPU),)
 endif
 
 # Create a list of flags to pass to the linker
-LD_FLAGS += -Wl,-Map=$(TARGET).map,--cref -Wl,--relax -Wl,--gc-sections -lm
+LD_FLAGS += -Wl,-Map=$(TARGET).map,--cref -Wl,--gc-sections -lm
+ifneq ($(F_CPU), UC3)
+   LD_FLAGS += -Wl,--relax
+endif
 
 # Create a list of unknown source file types, if any are found throw an error
 UNKNOWN_SOURCE = $(filter-out $(C_SOURCE) $(CPP_SOURCE) $(ASM_SOURCE), $(SRC))
-- 
GitLab