By default, crossdev set the use for cross-avr/gcc to "-fortran -go -selinux -boundschecking -d -gcj -gtk -libffi -mudflap -objc -objc++ -objc-gc multilib". This is not enought. gcc for avr fail to compile due to +jit and +vtv, they need to be set to -jit and -vtv. Also, you get some warning due to pie not being supported for avr target, so ideally you want to silence them with -pie (and probably speed up the compilation time a bit) Also, it is not normal or expected that crossdev change the config file without the user aproval. Reproducible: Always Steps to Reproduce: 1. emerge crossdev 2. crossdev -s4 --stable --portage --verbose --target avr -v 3. watch it fail Actual Results: The cross-avr/gcc fail to compile with "avr-devices.o:(.data.rel.ro.local+0x0): multiple definition of `avr_arch_types'" Expected Results: Successfull compile There is no change between gcc 4.whatever, 6.whatever and gcc-7.1.0-r1. (sorry, I did not noted the other gcc versions, I don't think it is relevant anyway).
*** This bug has been marked as a duplicate of bug 594572 ***