Hallo, Der Linker bringt bei meinem Projekt die unten angehangenen Fehler. Ich hatte das schon mal, da hatte -lm im Libraries-eintrage gefehlt und die Sache war behoben. Nur diesmal klappt es nicht. Weiss vielleicht jemand Rat? Vielen Dank schon mal. Ich benutze Eclipse und WINAVR 20100110. Invoking: AVR C Linker avr-gcc -Wl,-Map,vario_gleitwinkel.map -mmcu=atmega16 -im Libero "vario_gleitwinkel.elf" ./src/BMP180.o ./src/DEM16216.o ./src/anemo.o ./src/funktionen.o ./src/gps.o ./src/main.o ./src/tasten.o ./src/twimaster.o ./src/uart.o c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\lib c.a(log.o): In function `log': (.text.avr-libc.fplib+0x46): relocation truncated to fit: R_AVR_13_PCREL against symbol `__addsf3' defined in .text section in c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/avr5\libgcc.a(_addsub_sf.o) c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\lib c.a(log.o): In function `log': (.text.avr-libc.fplib+0x4e): relocation truncated to fit: R_AVR_13_PCREL against symbol `__addsf3' defined in .text section in c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/avr5\libgcc.a(_addsub_sf.o) c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\lib c.a(log.o): In function `log': (.text.avr-libc.fplib+0x6a): relocation truncated to fit: R_AVR_13_PCREL against symbol `__floatsisf' defined in .text section in c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/avr5\libgcc.a(_si_to_sf.o) c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\lib c.a(pow.o): In function `pow': (.text.avr-libc.fplib+0x94): relocation truncated to fit: R_AVR_13_PCREL against symbol `__mulsf3' defined in .text section in c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/avr5\libgcc.a(_mul_sf.o) c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\lib c.a(inverse.o): In function `inverse': (.text.avr-libc.fplib+0xc): relocation truncated to fit: R_AVR_13_PCREL against symbol `__divsf3' defined in .text section in c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/avr5\libgcc.a(_div_sf.o) c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\lib c.a(modf.o): In function `modff': (.text.avr-libc.fplib+0x3e): relocation truncated to fit: R_AVR_13_PCREL against symbol `__subsf3' defined in .text section in c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/avr5\libgcc.a(_addsub_sf.o) make: *** [vario_gleitwinkel.elf] Error 1 ich verwende WinAVR - 20100110
Ralph F. schrieb: > Ich hatte das schon mal, da hatte -lm im Libraries-eintrage > gefehlt und die Sache war behoben. Nur diesmal klappt es nicht. > > Ich benutze Eclipse und WINAVR 20100110. > > avr-gcc -Wl,-Map,vario_gleitwinkel.map -mmcu=atmega16 -im Libero > "vario_gleitwinkel.elf" ./src/BMP180.o ./src/DEM16216.o ./src/anemo.o > ./src/funktionen.o ./src/gps.o ./src/main.o ./src/tasten.o > ./src/twimaster.o ./src/uart.o Und wo ist das -lm? Ich würd dir eine Version der Tools ans Herz legen, die diesen Bug nicht mehr hat, d.h. 4.7.2+ https://gcc.gnu.org/PR54461 Und falls es die 4.7 ist, darauf achten, dass configure mit --with-avrlibc ausgeführt wurde (bei 4.8+ ist diese Option an per default).
...weiters verwendet die avr-libc RJMP ohne sicherzustellen, dass Sprungziele tatsächlich per RJMP erreichbar sind: https://savannah.nongnu.org/bugs/?33698 Behoben ist dieses Problem erst mit der avr-libc 1.8.1. Als Work-Around kannst du eine eigene Linker-Description verwendet, die garantiert, dass entsprechende .text Input-Sections der avr-libc dicht beieinander liegen.
Hallo, vielen dank Johann, aus den angehangen links habe ich rausbekommen das die math.h und deren funktionen diesen Fehler auftreten lässt. Wenn ich weder float noch eine math funktion nehme ist der Fehler weg. Bez. des vorgeschlagenen Work-Around, hänge ich voll in der Luft. Ich benutze WINAVR 20100110 (die "neuste" version). Die avrlibc hat die versionsnummer 1.6.7. , der gcc compiler ist version 4.3.3. aber was ich genau machen muss ..? Ich werd noch ein bisschen lesen. gruss bis bald
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.