As the first step, I'd recommend you to use a proven toolchain, like WinAVR20100110. I don't say it does not have issues but at least it's not a moving target. The notable two issues I am aware of are a library issue where rjmp/rcall between functions fall too far apart, and a linker bug related to -relax. Both can be fixed in your sources, IMO, and there's no reason to move to toolchains with potentially other yet unknown problems. If you'd insist on that, I'd recommend you to pick Georg-Johann's build from http://sourceforge.net/projects/mobilechessboar/files/avr-gcc%20snapshots%20%28Win32%29/ , discussed in http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=115337 .
You should consider posting a minimal compilable example exhibiting the problem, together with the command line switches etc. IMHO a better place to do that is the avr-gcc section of avrfreaks' forum, rather than this list. JW ----- Original Message --------------- >Received this error tonight after enabling a new chunk of code to >compile on a MEGA168 target > >I noticed some fixes in newer AVR GCC versions for things like this, so >I pulled GCC 4.7.0: > >http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=117504&postdays=0&postorder=asc > >I got further, but after copying back in all the code I had pulled out, >it still complains about R_AVR_13_PCREL errors. > >-lm and relax have been on all the time. > >Is there a tutorial that describes how to restructure your code or your >Makefile to overcome this issue? I understand it's a RJMP 13 bit >address overrun issue during linking, but I am lost on how to address >the issue. Essentially the same code compiles fine for MEGA162, and the >current codebase compiles fine if I leave off a few calls in main.c. > >My code is GPL, available to anyone who is keen to see it fail themselves. > >Jim > > _______________________________________________ AVR-GCC-list mailing list AVR-GCC-list@nongnu.org https://lists.nongnu.org/mailman/listinfo/avr-gcc-list