amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > Compilieren mit gcc 2.95.3 [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

18.06.2004, 10:05 Uhr

_nexus_
Posts: 164
Nutzer
Hallo,

gestern habe ich die Quellen von Vim 6.3 für AmigaOS3.x mit dem gcc 2.95.3 compiliert. Das war soweit auch kein Problem, allerdings musste ich die Compileroption "-O2" weglassen, da es sonst interessanter Weise eine WarpOS-Exception des Task cc1_PPC7 gab. Ich habe aber die m68k-amigaos-gcc Version benutzt zum compilieren. Wieso werden dabei PPC-Komponenten ausgeführt?

Die Option "-print-search-dirs" und "-dumpmachine" haben mir bestätigt, dass nur in den 68k spezifischen Verzeichnissen gesucht und auch 68k-Code erzeugt wird.

Und warum stürzt der gcc überhaupt mit der Option "-O2" ab? Nicht selten kam auch gar keine Fehlermeldung, sonder das Betriebssystem ist sofort in einen "reboot" übergegangen.

Insgesamt scheint mir der gcc (2.95.3 für das AmigaOS) nicht ganz bug-frei zu sein ..


Achja, das Linken der Objektdateien zum eigentlichen, ausfürhbaren Programm verursachte mehrere "Recoverable Errors" (das sind die Guru-Meldungen in gelb), die kurz Erschienen und sofort wieder verschwanden. Nichtsdestotrotz war die Compilierung erfolgreich, d.h. "Vim" lässt sich benutzen.

gruss

nexus.

P.S. Bevor jemand fragt. Eine zu geringe Stackgröße kann nicht die Ursache für die Abstürze sein, da ich diese zum Compilieren auf 5 MByte erhöht habe.


P.P.S. Falls wichtig. Mein System: A4000, 68060/604e mit 50/233 MHz, OS3.9, Mediator-PCI, Voodoo4500, Terratec 512i, PicassoIV+PalomaTV, XSurf. Shell: Vinced (oder so ählich).


--
dye' em black!

http://www.net-eclipse.de ,
http://www.noize-magazine.de


[ Dieser Beitrag wurde von _nexus_ am 18.06.2004 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

18.06.2004, 10:09 Uhr

thomas
Posts: 7717
Nutzer

Für GCC solltest du den Stack höher setzen, auf 100000 oder so.

Hast du vielleicht eine PPC ixemul.library installiert ?

Gruß Thomas
--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Antworten - Zitieren - Direktlink - ]

18.06.2004, 10:12 Uhr

_nexus_
Posts: 164
Nutzer
Zitat:
Original von thomas:

Für GCC solltest du den Stack höher setzen, auf 100000 oder so.

Hast du vielleicht eine PPC ixemul.library installiert ?


Tja, Du warst mit der Frage schneller als ich mit dem "P.S." :)


Eine ppc ixemul.library habe ich nicht (gabs auch nie für warpos, oder?) Ich benutze die Version 48.2 (glaube ich, kann ich erst heute abend nachsehen).

nexus.


--
dye' em black!

http://www.net-eclipse.de ,
http://www.noize-magazine.de

[ - Antworten - Zitieren - Direktlink - ]

18.06.2004, 10:58 Uhr

gni
Posts: 1106
Nutzer
Zitat:
nexus:
gestern habe ich die Quellen von Vim 6.3 für AmigaOS3.x mit dem gcc 2.95.3 compiliert. Das war soweit auch kein Problem, allerdings musste ich die Compileroption "-O2" weglassen, da es sonst interessanter Weise eine WarpOS-Exception des Task cc1_PPC7 gab. Ich habe aber die m68k-amigaos-gcc Version benutzt zum compilieren. Wieso werden dabei PPC-Komponenten ausgeführt?

Weil da irgendwo eine rumlungert?
Zitat:
Die Option "-print-search-dirs" und "-dumpmachine" haben mir bestätigt, dass nur in den 68k spezifischen Verzeichnissen gesucht und auch 68k-Code erzeugt wird.
Auch mit nicht 68k-Komponenten kann 68k Code erzeugt werden. So funktionieren Cross-Compiler. ;-) Vermutlich ist Dein cc1 ein PPC-Binary.
Zitat:
Und warum stürzt der gcc überhaupt mit der Option "-O2" ab?
Vermutlich ein Stackproblem.
Zitat:
Insgesamt scheint mir der gcc (2.95.3 für das AmigaOS) nicht ganz bug-frei zu sein ..
Der reine 68k-Port ist stabil.
Zitat:
Achja, das Linken der Objektdateien zum eigentlichen, ausfürhbaren Programm verursachte mehrere "Recoverable Errors" (das sind die Guru-Meldungen in gelb), die kurz Erschienen und sofort wieder verschwanden.
Vermutlich nur eine Folgeerscheinung.
Zitat:
P.S. Bevor jemand fragt. Eine zu geringe Stackgröße kann nicht die Ursache für die Abstürze sein, da ich diese zum Compilieren auf 5 MByte erhöht habe.
Wird die auch vom PPC-Binary benutzt?

[ - Antworten - Zitieren - Direktlink - ]

18.06.2004, 11:18 Uhr

_nexus_
Posts: 164
Nutzer
Zitat:
Original von gni:
Zitat:
nexus:
Ich habe aber die m68k-amigaos-gcc Version benutzt zum compilieren. Wieso werden dabei PPC-Komponenten ausgeführt?

Weil da irgendwo eine rumlungert?

Wie kann ich das festellen "wo ein erumlungert"?

Zitat:
Zitat:
Die Option "-print-search-dirs" und "-dumpmachine" haben mir bestätigt, dass nur in den 68k spezifischen Verzeichnissen gesucht und auch 68k-Code erzeugt wird.
Auch mit nicht 68k-Komponenten kann 68k Code erzeugt werden. So funktionieren Cross-Compiler. ;-) Vermutlich ist Dein cc1 ein PPC-Binary.

Dann liegt ppc-cc1 aber im pfad des 68k-compilers ..


Zitat:
Zitat:
Insgesamt scheint mir der gcc (2.95.3 für das AmigaOS) nicht ganz bug-frei zu sein ..
Der reine 68k-Port ist stabil.

der 68k-Port des GeekGadget-Archivs? Oder gibts sonst noch einen 68k-Port?

Zitat:
Zitat:
P.S. Bevor jemand fragt. Eine zu geringe Stackgröße kann nicht die Ursache für die Abstürze sein, da ich diese zum Compilieren auf 5 MByte erhöht habe.
Wird die auch vom PPC-Binary benutzt?

okay, bisher bin ich davon ausgegangen, dass kein ppc-binary benutzt wird für das kompilieren :)

Wie stelle ich den Stack für das PPC-Binary ein?


gruß

nexus.
--
dye' em black!

http://www.net-eclipse.de ,
http://www.noize-magazine.de

[ - Antworten - Zitieren - Direktlink - ]

18.06.2004, 11:24 Uhr

_nexus_
Posts: 164
Nutzer

Im übrigen habe ich (nebenbei) auch den vim für WarpOS compiliert (auch wenn es vermutlich gar keinen Sinn macht) mit "ppc-amigaos-gcc -warpup".

Abgesehen von dem gleichen "-O2" Problem ging das auch, allerdings ist das Executable nicht ausführbar. Warum?

nexus.
--
dye' em black!

http://www.net-eclipse.de ,
http://www.noize-magazine.de

[ - Antworten - Zitieren - Direktlink - ]

18.06.2004, 13:09 Uhr

gni
Posts: 1106
Nutzer
Zitat:
_nexus_:
Zitat:
Original von gni:
Zitat:
nexus:
Ich habe aber die m68k-amigaos-gcc Version benutzt zum compilieren. Wieso werden dabei PPC-Komponenten ausgeführt?

Weil da irgendwo eine rumlungert?
Wie kann ich das festellen "wo ein erumlungert"?
Da gibts verschiedene Möglichkeiten. PPC Support ausschalten (libraries verstecken und booten). Wenn dann nix mehr übersetzt werden kann, ist cc1 ein PPC-Binary. Alternativ mittels "type hex cc1" prüfen obs eine ELF-Datei ist (am Anfang steht dann ?ELF). Wenns ein AmigaOS Program ist dann fängst mit 0x3f3 an und ixemul.librar steht irgendwo am Anfang. ppc.library darf nicht irgednwo in der datei stehen. Du könntest aber auch einfach mit cc1 aus dem originalen 68k Archiv vergleichen.
Zitat:
Zitat:
Zitat:
Die Option "-print-search-dirs" und "-dumpmachine" haben mir bestätigt, dass nur in den 68k spezifischen Verzeichnissen gesucht und auch 68k-Code erzeugt wird.
Auch mit nicht 68k-Komponenten kann 68k Code erzeugt werden. So funktionieren Cross-Compiler. ;-) Vermutlich ist Dein cc1 ein PPC-Binary.
Dann liegt ppc-cc1 aber im pfad des 68k-compilers ..
Warum nicht? So was gabs mal igendwo zum Download.
Zitat:
Zitat:
Zitat:
Insgesamt scheint mir der gcc (2.95.3 für das AmigaOS) nicht ganz bug-frei zu sein ..
Der reine 68k-Port ist stabil.
der 68k-Port des GeekGadget-Archivs? Oder gibts sonst noch einen 68k-Port?
Ich kenn keinen. Kann dennoch existieren :-)
Zitat:
okay, bisher bin ich davon ausgegangen, dass kein ppc-binary benutzt wird für das kompilieren :)
Wie stelle ich den Stack für das PPC-Binary ein?

K.A.

[ - Antworten - Zitieren - Direktlink - ]

18.06.2004, 14:17 Uhr

thomas
Posts: 7717
Nutzer
Zitat:
Wie kann ich das festellen "wo eine rumlungert"?

search gg:#? powerpc.library all

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: home.t-online.de/home/thomas-rapp/

[ - Antworten - Zitieren - Direktlink - ]

18.06.2004, 16:10 Uhr

Holger
Posts: 8116
Nutzer
Deaktiviere doch einfach WarpOS. Entweder es funktioniert, oder irgendwer beschwert sich, daß er einen ppc braucht. Dann weißt Du, wer es ist.
WarpOS-exceptions dürftest Du dann jedenfalls nicht mehr bekommen.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

23.06.2004, 12:36 Uhr

_nexus_
Posts: 164
Nutzer
yep .. scheinbar hatte ich irgendwann einmal tatsächlich eine WarpOS-Version des 68k-gcc installiert und das ganze wieder vergessen.


Ich habe jetzt mal den reinen 68k-port installiert (aus dem geekgadget Archiv gcc-2.95.3-4) und Vim nochmals compiliiert. Es zeigen sich 2 unterschiede

1) der gcc ist jetzt unglaublich laaaaangsam :) (faktor 5-10 oder so)
und neben dem compilieren lässt sich sonst nicht mehr viel mit dem System anfangen (unerträgliche Response-Zeit).

2) Statt einer WarpOS-Exception und/oder eines System-Crashs mit sofortigem Reboot-Effect, wenn mit der Option "-O2" kompiliert wird,
stürtzt das System "stillschweigend" ab, d.h. das System "hängt", es lassen sich kein Apps mehr starten nur noch ein Reboot hilft.


Das ganze hat also nix gebracht. Woran könnte das liegen, dass die Option "-O2" nicht mit dem gcc und den Vim-Quellen funktioniert?

nexus.


P.S. Stack ist groß genug auf 5 MByte fürs compilieren eingestellt.
--
dye' em black!

http://www.net-eclipse.de ,
http://www.noize-magazine.de

[ - Antworten - Zitieren - Direktlink - ]

23.06.2004, 13:19 Uhr

gni
Posts: 1106
Nutzer
Zitat:
_nexus_:
1) der gcc ist jetzt unglaublich laaaaangsam :) (faktor 5-10 oder so)
und neben dem compilieren lässt sich sonst nicht mehr viel mit dem System anfangen (unerträgliche Response-Zeit).

changetaskpri hilft, zb. mit -5
Zitat:
2) Statt einer WarpOS-Exception und/oder eines System-Crashs mit sofortigem Reboot-Effect, wenn mit der Option "-O2" kompiliert wird,
stürtzt das System "stillschweigend" ab, d.h. das System "hängt", es lassen sich kein Apps mehr starten nur noch ein Reboot hilft.

Mit -O oder ganz ohne ein -Ox gehts?
Zitat:
Das ganze hat also nix gebracht. Woran könnte das liegen, dass die Option "-O2" nicht mit dem gcc und den Vim-Quellen funktioniert?
Was immer da auch passiert, mit -O2 sollte ;) es nichts zu tun haben. Eventuell bist Du ja auf einen Bug im GCC gestossen. Versuchs mal mit einer neueren GCC Version zb. 3.3(.x) oder 3.4(.x)
Zitat:
P.S. Stack ist groß genug auf 5 MByte fürs compilieren eingestellt.
Die Information habe ich fast übersehen :-)

[ - Antworten - Zitieren - Direktlink - ]

23.06.2004, 13:33 Uhr

_nexus_
Posts: 164
Nutzer
Zitat:
Original von gni:
Zitat:
2) Statt einer WarpOS-Exception und/oder eines System-Crashs mit sofortigem Reboot-Effect, wenn mit der Option "-O2" kompiliert wird,
stürtzt das System "stillschweigend" ab, d.h. das System "hängt", es lassen sich kein Apps mehr starten nur noch ein Reboot hilft.

Mit -O oder ganz ohne ein -Ox gehts?

Mit "-O" oder ganz ohne gehts auch mit der WarpOS-Version.
Die 68k hab ich nur ganz ohne getestet und das funzt.

Zitat:
Zitat:
Das ganze hat also nix gebracht. Woran könnte das liegen, dass die Option "-O2" nicht mit dem gcc und den Vim-Quellen funktioniert?
Was immer da auch passiert, mit -O2 sollte ;) es nichts zu tun haben. Eventuell bist Du ja auf einen Bug im GCC gestossen. Versuchs mal mit einer neueren GCC Version zb. 3.3(.x) oder 3.4(.x)

teste ich mal bei gelegenheit.

nexus.
--
dye' em black!

http://www.net-eclipse.de ,
http://www.noize-magazine.de

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > Compilieren mit gcc 2.95.3 [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.