@Pyhon3x

Ld: target elf32-i368 not found, как исправить?

Код:
kernel.asm
bits 32
section .text
      ;multiboot spec
      align 4
      dd 0x1BADB002
;magic
      dd 0x00
;flags
      dd - (0x1BADB002 + 0x00)
;checksum

global start
extern kmain

start:
  cli
  mov esp, stack_space
  call kmain
  hlt

section .bss
resb 8192
stack_space:


kernel.c
void kmain(void)
{
    const char *str = "My First Kernel";
    char *vidptr = (char*)0xb8000;
    unsigned int i = 0;
    unsigned int j = 0;

    while (j < 80 * 25 * 2) {
      vidptr[j] = ' ';
      vidptr[j+1] = 0x07;
      j = j+2;
    }

    j = 0;

    while (str[j] != '\0') {
      vidptr[i] = str[j];
      vidptr[i+1] = 0x07;
      ++j;
      i = i+2;
    }

    return;
}


link.ld
OUTPUT_FORMAT(elf32-i368)
ENTRY(start)
SECTIONS
  {
    . = 0x100000;
    .text : { *(.text) }
    .data : { *(.data) }
    .bss : { *(.bss) }
  }


Я выполняю команды:

nasm -f elf32 kernel.asm -o kasm.o
Потом:
gcc -m32 -c kernel.c -o kc.o
И:
ld -m elf_i386 -T link.ld -o kernel kasm.o kc.o

После последней вылезет ошибка:
ld: target elf32-i368 not found

Как исправить?
Спасибо!
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
@KingstonKMS
Может так?
OUTPUT_FORMAT(elf32-i386)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы