Как собрать ELF на MacOS, используя LLVM? - PullRequest
0 голосов
/ 23 февраля 2020

Я пытаюсь создать ELF-файл, используя LLVM (из Homebrew ), но не могу понять, как его связать.

Мои файлы:
multiboot2.h :

struct multiboot2_header_t {
// Stub
} multiboot2_header __attribute__((section(".multiboot")));

ядро. c:

#include "multiboot2.h"

void _start() {
// Stub
}

linker.ld :

ENTRY(_start)

SECTIONS
{
    .text: {
    /* link the multiboot struct here */
    . = ALIGN(8);
    KEEP(*(.multiboot))
    /* place all of your code afterwards */
    *(.text)
    }
}

Я могу скомпилировать его в объектный файл kernel.o по команде clang -c -o kernel.o kernel.c --target x86_64-none-gnu, но я не могу понять, как связать этот объектный файл, используя мой скрипт компоновщика.

PS Раньше я никогда не работал с LLVM и линкером напрямую, только GNU G CC сборка простая Linux apps.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...