amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > StormC 4 - Mixed Binaries [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2004-02-21, 15:45 h

Uwe
Posts: 74
User
Beim Erstellen eines Mixed Binaries mit StormC 4 bin ich
auf ein Problem gestossen:

Beim Linken der PPC und 68k-Objekte kommt vom Linker
die Warnung "24 bit reloc is illegal".
Und zwar bei jedem Aufruf 68k <-> PPC.

Das betreffende Projekt ist ziemlich groß (ca. 3 MB Objekt-Code).

Bei einem kleineren Testprogramm funktioniert das Linken,
d.h. der Linker meldet das Erzeugen der 68k bzw. PPC-Stubs.

Weiß jemand was die Warnung bedeutet?

Uwe

[ - Answer - Quote - Direct link - ]

2004-02-22, 11:24 h

cygnusEd
Posts: 104
User
Hi,

schau mal in's PPC-Object-Verzeichnis. Der StormC-Linker müßte dort
die in C-Code erzeugten Stubs abgelegt haben. Diese müssen in das
68k- und in das PPC-Projekt eingebunden werden. Zusätzlich noch das
erzeugte PPC-Object-File in das 68k Projekt (Natürlich nach dem Make
des PPC-Projektes).


Gruß
CygnusEd

[ - Answer - Quote - Direct link - ]

2004-02-22, 19:03 h

Uwe
Posts: 74
User
>Der StormC-Linker müßte dort die in C-Code erzeugten Stubs abgelegt haben.

Hat er eben nicht. Es wird nur eine .t-Datei erzeugt.

Bei dem schon erwähnten kleinen Testprogramm funktioniert es.
Da erscheint die Warnung "Automatic link vector generated for ..."
und es wird eine .t-Datei, ein C-Sourcecode und zwei Objekte erzeugt.

Nur beim großen Projekt funktioniert das nicht.
Die kompilierten Objekte lasse ich hier auch nicht in ein gemeinsames
objects_ppc-Verzeichnis spielen. Der Sourcecode des Projektes ist auf mehrere
Verzeichnisse verteilt und es gibt Namensüberschneidungen.

Ich habe auch mal versucht wenigstens den betreffenden Teil nach objects_ppc
zu kompilieren, aber es entstehen wieder nur .t-Dateien.

Es muss also ein grundsätzlicher Link-Fehler sein.

Uwe

[ - Answer - Quote - Direct link - ]

2004-02-23, 18:02 h

cygnusEd
Posts: 104
User
> Da erscheint die Warnung "Automatic link vector generated for ..."

Nach meiner Erfahrung nach, erscheint nicht zwingend diese Meldung,
wenn Storm-Link den Stub erzeugt. Bei mir erscheint diese Meldung nur
selten, trotzdem wird alles nötige erzeugt.

> Die kompilierten Objekte lasse ich hier auch nicht in ein gemeinsames
> objects_ppc-Verzeichnis spielen.

Wie gehst Du dabei vor? Ich habe immer nur zwei Object-Verzeichnisse -
jeweils eines für das 68k- und das PPC-Projekt. (Egal wie groß das
Projekt ist). Hast Du mehrere PPC-Projekte?

Wenn alles nichts hilft, dann erzeuge doch ein einfaches MixedBin-Projekt,
dessen 68K-Projekt eine C-Source-Datei enthält, in der alle befreffenden
PPC-Funktionen aufgerufen werden (und sonst nichts). Das PPC-Projekt
dann wie gehabt. Meist hilft es, wenn man das Projekt auf das notwendigste
begrenzt. Evtl. mehrfach ein "hierarchisches Make" durchführen.

CygnusEd


[ - Answer - Quote - Direct link - ]

2004-02-23, 19:46 h

Uwe
Posts: 74
User
>Wie gehst Du dabei vor? Ich habe immer nur zwei Object-Verzeichnisse -
>jeweils eines für das 68k- und das PPC-Projekt. (Egal wie groß das
>Projekt ist). Hast Du mehrere PPC-Projekte?

Nein. Ich habe unter Settings/Projekt Environment/Make
"Use single object directory" abgeschaltet. Dadurch
werden die Objektdateien in das gleiche Verzeichnis
wie die C/C++-Dateien geschrieben.

Das ist nötig, weil der Sourcecode in mehreren Verzeichnissen
verteilt ist und gleiche Namen vorkommen.
Sonst würden sich die Objektdateien gegenseitig überschreiben.

Das mit dem vereinfachten Projekt werde ich mal ausprobieren.

Uwe

[ - Answer - Quote - Direct link - ]

2004-02-25, 21:36 h

Uwe
Posts: 74
User
Ich habe es geschafft.

Man muss "Small debug files" einschalten.
Ich hatte vorher "No debug files" eingestellt
um Zeit beim Kompilieren zu sparen.

Es kommt zwar immer noch die Fehlermeldung,
aber die C-Dateien werden erzeugt.

Ich musste aber die erzeugten C-Dateien noch verändern,
damit es klappt. Der Compiler vertrug das
extern "ASM" nicht.

Uwe

[ - Answer - Quote - Direct link - ]

2004-02-26, 10:20 h

cygnusEd
Posts: 104
User

@Uwe

Tja, da hätte ich auch drauf kommen können. Bei mir taucht das Problem
jedoch nicht auf, da ich zu Anfang immer über den Projekt-Manager ein
Debug-Projekt erstelle.

Hauptsache es klappt

CygnusEd

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > StormC 4 - Mixed Binaries [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.