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

amiga-news.de Forum > Programmierung > C++ von GCC 2.95.3 nach GCC 3.3 portieren [ - Suche - Neue Beiträge - Registrieren - Login - ]

1 2 -3- [ - Beitrag schreiben - ]

08.06.2007, 00:13 Uhr

Reth
Posts: 1812
Nutzer
Zitat:
Original von gni:
In dem Fall wohl nicht. libnix fehlen einige stdio-Funktionen, u.a. auch getc(). Diese Funktionen sind als Makro in stdio.h vorhanden, müssen aber auch als echte Funktionen existieren. Bei fdopen liegt der Fall etwas anders. Es kann sein, das die von reth verwendete Version kein fdopen() hat. Da kann man nicht viel machen.
...
Für fdopen() braucht es wohl eine neue(re) libnix Version, denke ich mal.


Danke für die Info!

Gibt es denn eine neuere Version der Libnix? Und wenn ja wo?

Wenn ich meine Projekte nicht mit -noixemul compiliere, sind sie denn dann zur Laufzeit auch auf die ixemul angewiesen?

Und noch ne dumme Frage: Wie spiele ich denn die Diffs des GCC3.3 am besten in meine GoldEd 68k-Installation unter AOS4 ein?
Reicht da ein einfaches drüberkopieren der ganzen Verzeichnisse (also lib über <GoldEd>:<GCC>/lib usw.)?


@All:
Um mal meine Frage zu beantworten, ob das Compilieren mit einem 68k-GCC und AOS4-nativer Ixeml schneller geht als mit libnix in derselben Konstellation: Ja!

Ciao

[ Dieser Beitrag wurde von Reth am 08.06.2007 um 00:41 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

11.06.2007, 10:29 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Reth:
code:
echo "_ZN13FrameFactoryC6framesE" | c++filt

bekomme ich nur gesagt:
code:
_ZN13FrameFactoryC6framesE

Das hilft nicht wirklich.
Du mußt schon das passende c++filt verwenden oder wissen wie Symbole in Objektdateien aufgebaut sind. FYI, ELF verwendet keine Unterstriche. Versuch es also mal ohne den Unterstrich.
Zitat:
Und erst ein GCC-Studium und eines über Objektdateien und Linker möchte ich mir nicht antun, "nur" um ein wenig C/C++ zu programmieren!
Was hat die Verwendung von -Wl,... mit einem Studium zu tun? Vorgekaut wird nichts, Du mußt Dich schon selber bemühen.

[ - Antworten - Zitieren - Direktlink - ]

11.06.2007, 11:17 Uhr

Reth
Posts: 1812
Nutzer
Zitat:
Original von gni:
Du mußt schon das passende c++filt verwenden oder wissen wie Symbole in Objektdateien aufgebaut sind. FYI, ELF verwendet keine Unterstriche. Versuch es also mal ohne den Unterstrich.


Ich verwende doch den GCC3.3 aus GoldED AIX und der ist 68k und erstellt 68k. Zudem zeigen auch alle Pfade, Assigns etc. auf diese GCC-Installation, so dass auch dessen c++filt genommen wird (werde das nochmal nachprüfen, so das überhaupt geht).
Von daher müsste der _ eigentlich verwendet werden, ich probiers aber mal ohne (muss c++filt nicht wissen, wo die entsprechende Objektdatei liegt?

Zitat:
Original von gni:
Zitat:
Reth:Und erst ein GCC-Studium und eines über Objektdateien und Linker möchte ich mir nicht antun, "nur" um ein wenig C/C++ zu programmieren!
Was hat die Verwendung von -Wl,... mit einem Studium zu tun? Vorgekaut wird nichts, Du mußt Dich schon selber bemühen.

Die Verwendung dieses Parameters hat nichts mit nem Studium zu tun, sondern die Summe aller Parameter und Hilfstools (c++filt, gdb und alle anderen, die ich noch nicht kenne)!
Bin halt durch meine tägliche Entwicklungsarbeit am PC verwöhnt und würde mich gern auf die Entwicklung der Anwendung konzentrieren, anstatt mich dauernd mit solchen und anderen Dingen herumzuschlagen (und: Nein, ich will keinen PC, auf dem ich mit ner IDE und nem X-Compiler arbeiten kann! Ich will auf dem Amiga für den Amiga programmieren!).

Ciao

[ - Antworten - Zitieren - Direktlink - ]

11.06.2007, 14:39 Uhr

Solar
Posts: 3674
Nutzer
Zitat:
Original von Reth:

Bin halt durch meine tägliche Entwicklungsarbeit am PC verwöhnt und würde mich gern auf die Entwicklung der Anwendung konzentrieren, anstatt mich dauernd mit solchen und anderen Dingen herumzuschlagen (und: Nein, ich will keinen PC, auf dem ich mit ner IDE und nem X-Compiler arbeiten kann! Ich will auf dem Amiga für den Amiga programmieren!).


Dann finde ein paar tausend weitere, die bereit sind, ein paar hundert Euro für eine IDE auszugeben, sowie ein Softwarehaus, das bereit ist, für den Wildwuchs an Plattformen eine solche IDE zu erstellen...

Bis das passiert, muß man sich wohl oder übel mit Kommandozeilentools herumschlagen. (Gewöhnt man sich aber recht schnell daran.)

[ - Antworten - Zitieren - Direktlink - ]

18.06.2007, 14:59 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Reth:
Ich verwende doch den GCC3.3 aus GoldED AIX und der ist 68k und erstellt 68k. Zudem zeigen auch alle Pfade, Assigns etc. auf diese GCC-Installation, so dass auch dessen c++filt genommen wird (werde das nochmal nachprüfen, so das überhaupt geht).

Der Pfad ist wichtig, denn ansonsten kann ein x-beliebiges c++filt Verwendung finden. Da Du unter OS4 arbeitest, ging ich davon aus, das Du auch den OS4 GCC installiert hast und dessen c++filt verwendest.
Zitat:
Von daher müsste der _ eigentlich verwendet werden, ich probiers aber mal ohne
Verwendet wird das zuerst gefundene Programm. FWIW, es könnte auch sein, das das c++filt zu alt ist, dh. die Version des GCC 2.95.x kann keine Symbole des GCC3 dekodieren.
Zitat:
(muss c++filt nicht wissen, wo die entsprechende Objektdatei liegt?
c++filt dekodiert nur Symbole, die Du Ihm vorwirfst. Mit Objektdateien kann es nicht umgehen.

[ - Antworten - Zitieren - Direktlink - ]

18.06.2007, 21:39 Uhr

Reth
Posts: 1812
Nutzer
Zitat:
Original von gni:
Verwendet wird das zuerst gefundene Programm. FWIW, es könnte auch sein, das das c++filt zu alt ist, dh. die Version des GCC 2.95.x kann keine Symbole des GCC3 dekodieren.


Tja so siehts wohl aus!
Das c++filt der GoldED 3.3 installation ist das des 2.95.3 (laut c++filt --version)!

Bin gerade im Durchsuchen der GoldED-CD und der Updates, ob da ein neueres dabei ist!

Also weder bei GoldED AIX noch beim Cubic-Demo ist der Demangler beim GCC 3.3 dabei.
Entweder gibts den dann gar nicht für AmigaOS, oder die GoldED-/Cubic-Distris haben hier nen Fehler?!

Keine Ahnung!

Ciao

[ Dieser Beitrag wurde von Reth am 18.06.2007 um 22:21 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

19.06.2007, 09:00 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Reth:
Bin gerade im Durchsuchen der GoldED-CD und der Updates, ob da ein neueres dabei ist!

Also weder bei GoldED AIX noch beim Cubic-Demo ist der Demangler beim GCC 3.3 dabei.

AFAIR, GCC 3.3 hatte noch eine eigene c++filt Version.
Zitat:
Entweder gibts den dann gar nicht für AmigaOS, oder die GoldED-/Cubic-Distris haben hier nen Fehler?!
FYI, c++filt war ursprünglich Bestandteil der binutils und des GCC. Irgendwann haben die GCC Entwickler aber entschieden, das eine Version reicht und c++filt aus dem GCC Archiv entfernt. Die GCC Entwickler gingen vermutlich davon aus, das immer brandaktuelle binutils verwendet werden :-/

[ - Antworten - Zitieren - Direktlink - ]

19.06.2007, 09:45 Uhr

Reth
Posts: 1812
Nutzer
@gni:
Danke für die Infos!

Zitat:
Original von gni:
AFAIR, GCC 3.3 hatte noch eine eigene c++filt Version.

Die ist leider nirgends auffindbar.

Zitat:
FYI, c++filt war ursprünglich Bestandteil der binutils und des GCC. Irgendwann haben die GCC Entwickler aber entschieden, das eine Version reicht und c++filt aus dem GCC Archiv entfernt. Die GCC Entwickler gingen vermutlich davon aus, das immer brandaktuelle binutils verwendet werden :-/
D.h., man braucht 3.3er binutils für 68k. Gehen auch neuere Versionen, d.h. sind die binutils abwärtskompatibel?

Ciao

[ - Antworten - Zitieren - Direktlink - ]

19.06.2007, 11:01 Uhr

gni
Posts: 1106
Nutzer
Zitat:
Reth:
Zitat:
gni:
AFAIR, GCC 3.3 hatte noch eine eigene c++filt Version.

Die ist leider nirgends auffindbar.
Wenn Du den den OS4 GCC installiert hast, dann kannst Du auch dessen c++filt verwenden (das ist das c++filt der ppc-amigaos binutils).
Zitat:
D.h., man braucht 3.3er binutils für 68k.
So etwas gibt es nicht. Die binutils sind erst bei Version 2, zb. 2.16 ;-)
Zitat:
Gehen auch neuere Versionen, d.h. sind die binutils abwärtskompatibel?
Genau wie beim GCC braucht man für m68k-amigaos nutzbare binutils diffs. Solche diffs sind für 2.9.1 (dem defacto Standard für m68k-amigaos) verfügbar. Eine neuere binutils Version (2.14) mit m68k-amigaos Support ist im adtools Repository zu finden. Die könnte man verwenden, dh. ja binutils sind abwärtskompatibel. Die üblicherweise verwendete Version ist aber 2.9.1 und bei der Version solltest Du auch besser bleiben.

[ - Antworten - Zitieren - Direktlink - ]

19.06.2007, 21:42 Uhr

Reth
Posts: 1812
Nutzer
Zitat:
Original von gni:

Wenn Du den den OS4 GCC installiert hast, dann kannst Du auch dessen c++filt verwenden (das ist das c++filt der ppc-amigaos binutils).


Gilt das für alle binutils, oder nur für ein paar (also von AOS4-GCC Installation unter 68k-GCC Installation nutzbar)?

Und gibt es irgendwo eine komplette 68-binary-Version der binutils (also z.B. der 2.9.1)?

Habe gerade den GCC 3.3.3 von back2roots runtergeladen.
Lohnt sich da eine Integration in GoldED (selbiges hat "nur" 3.3) oder ist der Nutzen den Aufwand nicht wert?

Ciao

[ Dieser Beitrag wurde von Reth am 19.06.2007 um 22:49 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]


1 2 -3- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > C++ von GCC 2.95.3 nach GCC 3.3 portieren [ - Suche - Neue Beiträge - Registrieren - Login - ]


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