Linker — Änderungen 10781 → 10821

Zeile 1: Zeile 1:
−
{{Stub}}
 
 
Ein '''Linker''' ist ein Programm, das (z.B. vom Compiler generierte) Objektdateien mit anderen Objektdateien und/oder Libraries verknüpft.
 
Ein '''Linker''' ist ein Programm, das (z.B. vom Compiler generierte) Objektdateien mit anderen Objektdateien und/oder Libraries verknüpft.
  
Zeile 93: Zeile 92:
 
}
 
}
 
</code>
 
</code>
 +
 +
* Mit ENTRY kann der Einstiegspunkt definiert werden. Dort beginnt dann die Ausführung des Kernels.
 +
* Im SECTIONS-Bereich kann man die Position (das Offset) der einzelnen Segmente im Speicher festlegen. Das ist notwendig, wenn der Kernel nicht an der Position 0x0001 im Speicher liegt.
  
 
Am besten nimmt man sich für sein Linkerscript ein vorhandenes Exemplar und ändert die Einträge, z. B. "_main" statt "_start", eine andere Position des text-Segments usw. Wer sich dennoch näher mit Linkerscripts befassen möchte, findet [http://sourceware.org/binutils/docs/ld/index.html hier] das Handbuch zum ld.
 
Am besten nimmt man sich für sein Linkerscript ein vorhandenes Exemplar und ändert die Einträge, z. B. "_main" statt "_start", eine andere Position des text-Segments usw. Wer sich dennoch näher mit Linkerscripts befassen möchte, findet [http://sourceware.org/binutils/docs/ld/index.html hier] das Handbuch zum ld.