Forum: Compiler & IDEs Wie ist das entry point beim Linker einzustellen?


von gcc user (Gast)


Lesenswert?

Mein Einstiegspunkt, heißt __start, ist in einem .sx File zu finden. Für 
Testfall Generierung muss ich ihn bei der Linkerflags eingeben. Mein 
Problem ist, dass er in einem anderen Projekt zu finden ist.
Wie kann ich dem Linker mitteilen, dass z.B. die Funktion unter dem Pfad 
ist: c:/project/test/boot.sx

jetzt ist so eingestellt:
--entry=__start
und ich bräuchte etwas solches, aber halt in der korrekten Form.
--entry=<c:/project/test/boot.sx>/__boot

Dokumentation von Linker: Laut der Dokumentation kann ich nur Adresse 
eingeben.
"
3.4.1 Setting the Entry Point
The first instruction to execute in a program is called the entry point. 
You can use the
ENTRY linker script command to set the entry point. The argument is a 
symbol name:
ENTRY(symbol)
There are several ways to set the entry point. The linker will set the 
entry point by trying
each of the following methods in order, and stopping when one of them 
succeeds:
* the ‘-e’ entry command-line option;
* the ENTRY(symbol) command in a linker script;
* the value of the symbol start, if defined;
* the address of the first byte of the ‘.text’ section, if present;
* The address 0.
"

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

gcc user schrieb:
> --entry=<c:/project/test/boot.sx>/__boot

Warum?  Der Eintrittspunkt muss ein globales Symbol sein, und ein
solches kann halt nur ein einziges Mal im gesamten Programm existieren.
Daher erübrigt sich aber die Angabe des Dateinamens, in dem das Symbol
definiert wird; es genügt, den Namen des Symbols selbst anzugeben.

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
Noch kein Account? Hier anmelden.