Ich bekomme folgende Fehlermeldungen mit AVR Studio 4.12 SP3 Build 90 beim Linken: C:/WinAVR/bin/../lib/gcc/avr/3.4.5/../../../../avr/lib/avr5\libc.a(fmod. o): In function `fmod': : relocation truncated to fit: R_AVR_13_PCREL against symbol `__divsf3' defined in .text section in C:/WinAVR/lib/gcc/avr/3.4.5/avr5\libgcc.a(_div_sf.o) C:/WinAVR/bin/../lib/gcc/avr/3.4.5/../../../../avr/lib/avr5\libc.a(fmod. o): In function `fmod': : relocation truncated to fit: R_AVR_13_PCREL against symbol [...(Rest gelöscht)] Hat jemand eine Ahnung, was das Problem ist und wie es zu lösen ist?
Hallo ! Habe ebenfalls die Fehlermeldung. Das scheint ein Bug im gcc oder linker zu sein. Ausgelöst wurde der Fehler bei mir durch eine einzige Zeile: if(float==anotherFloat) ... Weiß jemand wie man das fixen kann ?
Hallo ! Die option war drin. Hier die gesamte Fehlermeldung: avr-c++.exe -mmcu=atmega32 -Wl,-u,vfprintf -lprintf_flt -lm foo.o -o foo.elf C:/Programmes/Atmel/WinAVR/bin/../lib/gcc/avr/3.4.6/../../../../avr/lib/ avr5\libm.a(modf.o): In function `modf': : relocation truncated to fit: R_AVR_13_PCREL against symbol `__addsf3' defined in .text section in C:/Programme/Atmel/WinAVR/lib/gcc/avr/3.4.6/avr5\libgcc.a(_addsub_sf.o) Gruß
Eine Bibliothek, die vor dem eigentlichen Objektfile angegeben wird, dessen ungeklärte Externreferenzen eigentlich in der Bibliothek aufgelöst werden sollen, ist umsonst. (Ausnahme: das vfprintf() wird aus der libprintf_flt.a genommen, da für dieses Symbol mittels -u zwangsweise eine undefinierte Referenz erzeugt worden ist.) Schreib das -lm ganz ans Ende der Linkerkommandozeile, und es wird funktionieren. Dass es ohne -lm nicht funktioniert ist ein bekannter Bug: https://savannah.nongnu.org/bugs/?func=detailitem&item_id=14855 https://savannah.nongnu.org/bugs/?func=detailitem&item_id=3485 (Einer von den beiden...) Leider ist der praktisch nicht ohne Neuschreiben der Mathematik-Bibliothek zu lösen.
Danke, super ! Habe jetzt im AVR-Studio bei Project Options einfach bei "link with these Objects" die libm.a angegeben. Seitdem funktioniert es nicht nur, sondern der erzeugte code ist sogar 10% kleiner als vorher!!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.