^&%#$&^#&^%#*ing Google Groups just ate my very long reply to this, so
this is attempt two. Sorry if it's shorted and less detailed.
Hans,
The short answer is that you will need to change this line in LUFA/
Build/
lufa_build.mk:
BASE_LD_FLAGS := -lm -Wl,-Map=$(TARGET).map,--cref -Wl,--gc-sections -
Wl,--relax
To this:
BASE_LD_FLAGS := -lm -Wl,-Map=$(TARGET).map,--cref -Wl,--gc-sections
Due to a bug in your version of Binutils. If you know how to recompile
your own toolchain there's a patch for this in the Atmel Toolchain
packages ("307-binutils-fix-AVRTC-424.patch") to fix it, but the
alternative if you don't is just to disable linker relaxations via the
above modification. The problem is that the linker relaxations mode
(designed to slightly compact the code during linking, by replacing 4
byte CALL instructions with the 2 byte RCALL instructions where
possible) fails due to a bug in some circumstances, resulting in the
build failure you are seeing. Normally relaxations provides a small
but measurable benefit, but if you are using an unpatched linker it
can cause more problems than its worth.
I think I'll add in a list of common compile failures to the LUFA
documentation and perhaps add a LINKER_RELAXATIONS setting to the
build makefile to optionally turn this off on broken systems.
Cheers!
- Dean
On Sep 29, 10:54 am, Hans Schou <
hans.sc...@gmail.com> wrote:
> Hi Dean
>
> I got the error below. Is there any other information I can add?
>
> $ grep ^deb /etc/apt/sources.list | head -n 1
> debhttp://
ftp.dk.debian.org/debian/wheezy main non-free