Hallo, ich bin dabei Ulrich Radigs Webserver-Software an die Pollin-Hardware anzupassen und neu zu kompilieren. Auf einem PC (W2K SP4) in der Firma kann ich erfolgreich übersetzen und den AVR flashen. Auf zwei PC's zu hause (1.PC W2K SP4; 2.PC WXP SP3) erhalte ich folgende Fehlermeldung: Build started 6.10.2008 at 20:54:26 avr-gcc.exe -mmcu=atmega32 -Wall -gdwarf-2 -std=gnu99 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT base64.o -MF dep/base64.o.d -c ../base64.c ../base64.c: In function 'decode_base64': ../base64.c:77: internal compiler error: Illegal instruction Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://sourceforge.net/tracker/?atid=520074&group_id=68108&func=browse> for instructions. make: *** [base64.o] Error 1 Build failed with 1 errors and 0 warnings... Was ist hier faul? Wer kann mir helfen? Gruß Micha
Was schon früher in anderen Fällen geholfen hat: WinAVR komplett deinstallieren. Alle Reste vorheriger Installationen beseitigen. Neu installieren. Denn am WinAVR liegt es ja wohl nicht, wenn es nicht vom Quellcode sondern vom PC abhängt.
Hallo, leider hatte ich sehr wenig Zeit. Deinstallieren und Einträge in der Registry löschen hat auch nichts gebracht. (ich hatte nach WinAVR und ähnlichen Einträgen gesucht) Ich habe den W2K-PC platt gemacht und das System (wieder W2K) neu aufgesetzt, SP4 aufgespielt und alle anstehenden Updates ausgeführt. Leider der selbe Fehler wieder. (:-(( Da ich mittlerweile mehr als einen PC besitze habe ich AVR-Studio und WinAVR noch auf einem anderen PC (W2K-SP4 aktuellster Stand) installiert und sieh da es funktioniert. Ich habe leider keine Erklärung für deses Verhalten. Was an den beiden erstgenannten PC's anders ist, ist das darin eine VIA-CPU (700 und 900 MHz) werkelt. Bei anderer Software ist bisher nie ein Fehler aufgetreten. Hat jemand eine Tüte Rat fürmich? Gruß Micha
Sowas Ähnliches gab es gerade erst in einem anderen Thread. Die Binaries sind für irgendwelche neueren Prozessoren gebaut. Offenbar sind die VIAs nicht so ganz kompatibel zu den aktuelleren x86ern. Beitrag "Was ist die aktuelle, STABILE WinAVR Version?"
> ../base64.c:77: internal compiler error: Illegal instruction Der Compiler wurde offensichtlich mit bestimmten CPU-Optimierungen übersetzt und enthält daher Opcodes, die deine CPU schlicht nicht hat/versteht. So wie z.B. auch in diesem Fall: http://sourceforge.net/tracker/index.php?func=detail&aid=2155852&group_id=68108&atid=520074
Ich habe bei mir auf dem betroffenen System (Pentium-MMX) die Version WINAVR-20070525 am laufen. Die sollte mit VIA auch tun.
Hallo, danke für Eure Hilfe! Ich hab' jetzt die Version 20071221 installiert - damit kann ich meinen Sourcecode erfolgreich compilieren. Jetzt aber noch eine Frage: Da mein PC mit der VIA C3-CPU doch schon etwas betagt ist, würde ein Bugreporting an Eric Weddington und sein Team etwas bringen? Haben die Programmierer Zeit sich noch mit dem "alten Kram" zu beschäftigen? Gruß Micha
Gibt's wohl nicht viel zu tun ausser neu übersetzen für i586. Dein C3 ist ziemlich antik, nicht wirklich erstaunlich dass das heute mal Probleme gibt. Wer für PentiumPro (i686) übersetzt, und das ist mittlerweile ziemlich verbreitet, riskiert Ärger mit dem C3. Denn der ist nur fast dazu kompatibel: ihm fehlt CMOVxx. http://gcc.gnu.org/ml/gcc-patches/2004-07/msg02718.html Insofern kann ein Tip an Eric schon helfen. Damit die nächste Version wieder für i586 übersetzt wird.
Andreas Kaiser wrote: > WinAVR komplett deinstallieren. > Alle Reste vorheriger Installationen beseitigen. > Neu installieren. Ob das was bringt...? Das ist ja offensichtlich ein Compiler-Bug. Den betrefflichen Source etwas umschreiben koennte auch helfen.
> Den betrefflichen Source etwas umschreiben koennte auch helfen. Spätestens wenn er den Optimizer einschaltet: -Os und Inlinecode generiert wirt, knallt es wieder. siehe: http://sourceforge.net/tracker/index.php?func=detail&aid=2144298&group_id=68108&atid=520074 Da die meisten AVR-Projekte ja doch relativ übersichtlich sind, sollte man den Compiler mit -m486 übersetzen und gut wär. Das Performancepenalty sollte minimal sein. @Mehr: Ohne Bugreports wird sich kaum was tun.
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.