Nachdem ich es nicht in der Doku von ld gefunden habe (obwohl es bestimmt drin steht) nun hier meine Frage: Wie kann ich verschiedene Sections einer Datei an verschiedene Stellen linken? Ich benutze nämlich einen loader, der paging anschaltet und dann die ersten paar MB sowohl nach 0x00 als auch nach 0xC0000000 mappt. Der restliche Kernel soll dann aber in diesem hohen Speicherbereich ausgeführt werden (ich hoffe, ihr versteht was ich meine
). ich habe jetzt schon so etwas ausprobiert:
SECTIONS
{
.loader 0x100000 : { loader.o }
.kernel 0xC0000000 : { kernel.o }
}
So füllt ld allerdings die Datei mit viiiieelen Nullen aus, und sie wird fast 3 GB groß
. Ich möchte aber, das ld die Symbole behandelt, als ob sie an diesen Adressen wären. ld soll sie nicht wirklich dahin legen
ich hoffe, ihr könnt mir helfen