Вопрос

Я разрабатываю свою собственную ОС, но для этого мне нужно коснуться компоновки, тогда я сделал этот скрипт компоновки для ее сборки:

ENTRY (loader)

SECTIONS{
   . = 0x00100000
   .text : {
      *(.text)
   }

   .bss : {
      sbss = .;
      *(COMMON)
      *(.bss)
      ebss = .;
   }
}

.data ALIGN (0x1000) : {
   start_ctors = .;
   *(.ctor*)
   end_ctors = .;
   start_dtors = .;
   *(.dtor*)
   end_dtors = .;
   *(.data)
}

Но когда я пытаюсь связать вещи, у меня возникают ошибки.

$ ld -T linker.ld -o kernel.bin loader.o kernel.o
ld:linker.ld:5:ошибка синтаксиса
$

Что я могу сделать?

Это было полезно?

Решение

Мне придется угадать пропущенную точку с запятой в конце пятой строки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top