www.mikrocontroller.net

Forum: Compiler & IDEs internal compiler error


Autor: Mehr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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_... 
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

Autor: Mark .. (mork)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche Version von avr-gcc/WinAVR benutzt du? Eventuell upgraden.

Autor: Mehr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

sorry, hatte die Version vergessen:

WINAVR: WinAVR-20080610
AVR-Studio: 4.14.589

Gruß

Micha

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Mehr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: let (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?"

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ../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=deta...

Autor: testhro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe bei mir auf dem betroffenen System (Pentium-MMX) die Version
WINAVR-20070525 am laufen.

Die sollte mit VIA auch tun.

Autor: Mehr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: testhro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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=deta...

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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.