| Zeile 83: | Zeile 83: | ||
Meiner Meinung nach ist dies der schwierigste Teil des "Zusammenbauens". Beim Linken wird unser Assembler-Kernel und unser C-Kernel miteinander verbunden und es wird z.B dem Assembler-Kernel auch gesagt wo die main-Funktion des C-Kernels liegt. Wir brauchen erstmal eine Konfigurationsdatei für ''ld'': | Meiner Meinung nach ist dies der schwierigste Teil des "Zusammenbauens". Beim Linken wird unser Assembler-Kernel und unser C-Kernel miteinander verbunden und es wird z.B dem Assembler-Kernel auch gesagt wo die main-Funktion des C-Kernels liegt. Wir brauchen erstmal eine Konfigurationsdatei für ''ld'': | ||
| − | + | <pre> | |
| − | + | ENTRY (loader) | |
| − | + | ||
| − | + | SECTIONS | |
| − | + | { | |
| − | + | . = 0x00100000; | |
| − | + | ||
| − | + | .text : | |
| − | + | { | |
| − | + | *(.text) | |
| − | + | } | |
| − | + | ||
| − | + | .rodata ALIGN (0x1000) : | |
| − | + | { | |
| − | + | *(.rodata) | |
| − | + | } | |
| − | + | ||
| − | + | .data ALIGN (0x1000): | |
| − | + | { | |
| − | + | *(.data) | |
| − | + | } | |
| − | + | ||
| − | + | .bss : | |
| − | + | { | |
| + | _sbss = .; | ||
| + | *(COMMON) | ||
| + | *(.bss) | ||
| + | _ebss = .; | ||
| + | } | ||
| + | } | ||
| + | </pre> | ||
| + | |||
Ich bin mir nicht 100%ig sicher ob dies die optimalste Linkerfile ist, aber sie funktioniert ;) | Ich bin mir nicht 100%ig sicher ob dies die optimalste Linkerfile ist, aber sie funktioniert ;) | ||