How to use system avr-gcc instead of Arduino one

cr0sh:
is because later versions broke something somewhere (with avr libc? or something) - and at any rate, it won't compile things properly, and it hasn't been patched (after all this time - no idea why) to fix it.

I think it is only the 4.7.x versions where some things are definitely broken for AVR. Atmel are using a version of of 4.6.something for their gnu-based toolchain distribution, so there are definitely patched libs for later versions gcc that will work with AVR. My impression is Arduino have not been keeping up just because they don't see updating the toolchain as any kind of priority issue.