Я использую Msys для сборки ядра домашнего приготовления, которое я написал под Linux. Linux использует ELF для своего двоичного формата, а Msys использует PE. У меня есть исходный код, позволяющий Grub загружать его, используя спецификацию Multiboot. В конце сборки я получаю несколько неопределенных символов:
init.o:init.S:(.text+0x14): undefined reference to `edata'
main.o:main.c:(.text+0x121): undefined reference to `_alloca'
main.o:main.c:(.text+0x126): undefined reference to `__main'
../../lib\libkern.a(mem.o):mem.c:(.text+0x242): undefined reference to `_end'
../../lib\libkern.a(mem.o):mem.c:(.text+0x323): undefined reference to `_end'
Похоже, что это ELF-ориентированные символы. Если кто-то может посоветовать мне, как с этим следует обращаться в мире PE, например, если есть эквиваленты, это мне очень поможет!