и про попытке использования llvm для сборки возникла проблема:
qemu-system-i386: Error loading uncompressed kernel without PVH ELF Note
текст скрипта линковки:
ENTRY(kstart)
SECTIONS {
. = 0x00100000;
.text ALIGN (0x1000) :
{
*(.text)
}
.rodata ALIGN (0x1000) :
{
*(.rodata*)
}
.data ALIGN (0x1000) :
{
*(.data)
}
.bss ALIGN (0x1000) :
{
*(COMMON)
*(.bss)
}
}
команда сборки:
ld.lld -T link.ld -melf_i386 -o kernel.elf loader.o kmain.o
сталкивались ли с ней и как решается или куда копать? при использовании ld из binutild всё корректно работает
https://stackoverflow.com/questions/71902815/qemu-system-i386-error-loading-uncompressed-kernel-without-pvh-elf-note
да, видела это немного не то, так как в целом не решает проблему генерации подходящего эльфа линкером, а позволяет использовать этот и к тому же с gnu тулчейном всё и так работает
Qemu-specific shit: https://forum.osdev.org/viewtopic.php?f=1&t=43898
кстати вот референс как в ембоксе починили. https://github.com/embox/embox/issues/2468
Вообще lld еще любит чтоб явно была прописана .shstrtab
а с этого момента, пожалуйста, поподробнее
Обсуждают сегодня