README.md Старый однострочный README заменён на полноценное описание проекта: что такое ZOVboot, статус, структура репозитория, сборка, заметки по совместимости, планы и лицензия. limine/configure.ac AC_INIT переименован с Limine на ZOVboot, URL заменены на git.bebrik.xyz, help-тексты для TOOLCHAIN_FOR_TARGET, CC_FOR_TARGET, LD_FOR_TARGET, OBJCOPY_FOR_TARGET, OBJDUMP_FOR_TARGET, READELF_FOR_TARGET, CFLAGS_FOR_TARGET, CPPFLAGS_FOR_TARGET, LDFLAGS_FOR_TARGET, NASMFLAGS_FOR_TARGET переведены с “for Limine” на “for ZOVboot”. limine/common/protos/limine.c Bootloader name, который отдаётся ядру через bootloader_info_response->name, сменён с "Limine" на "ZOVboot". limine/common/protos/multiboot1.c LIMINE_BRAND сменён с "Limine " на "ZOVboot ". limine/common/protos/multiboot2.c LIMINE_BRAND сменён с "Limine " на "ZOVboot ". limine/common/lib/bli.c Wide-string бренд LIMINE_BRAND сменён с L"Limine " на L"ZOVboot ". limine/common/menu.c Строки брендинга в меню заменены с Limine ... на ZOVboot ... для BIOS, UEFI32 и обычного UEFI. limine/common/drivers/disk.s2.c Panic-сообщение про неподдерживаемую UEFI-машину теперь говорит ZOVboot UEFI вместо Limine UEFI. limine/common/entry.s3.c Поменяны пользовательские сообщения: про загрузку выше 4 GiB, про поиск конфигурации и про отсутствие конфигурационного файла, теперь в них фигурирует ZOVboot. limine/host/limine.c Ребрендинг CLI-утилиты: сообщение об успешной BIOS-установке, usage для enroll-config, --version, license-строка, ошибка print-datadir, ошибка “compiled without BIOS support”. Неотслеживаемое: limine/build-host Временная директория host-сборки. limine/build-test Временная директория test/build-конфигурации. Итог по diffstat: 10 files changed 126 insertions 32 deletions
58 lines
1.3 KiB
Text
58 lines
1.3 KiB
Text
OUTPUT_FORMAT(elf64-x86-64)
|
|
ENTRY(_start)
|
|
PHDRS
|
|
{
|
|
text PT_LOAD FLAGS(0x05);
|
|
rodata PT_LOAD FLAGS(0x04);
|
|
data PT_LOAD FLAGS(0x06);
|
|
dynamic PT_DYNAMIC FLAGS(0x06);
|
|
}
|
|
SECTIONS
|
|
{
|
|
. = 0;
|
|
__slide = .;
|
|
__image_base = ABSOLUTE(.);
|
|
__image_size = ABSOLUTE(__image_end - __image_base);
|
|
.text : {
|
|
KEEP(*(.pe_header))
|
|
. = ALIGN(0x1000);
|
|
__text_start = ABSOLUTE(.);
|
|
*(.text .text.*)
|
|
} :text
|
|
. = ALIGN(0x1000);
|
|
__text_end = ABSOLUTE(.);
|
|
__text_size = ABSOLUTE(__text_end - __text_start);
|
|
.rodata : {
|
|
__reloc_start = ABSOLUTE(.);
|
|
*(.dummy_reloc)
|
|
. = ALIGN(0x1000);
|
|
__reloc_end = ABSOLUTE(.);
|
|
__reloc_size = ABSOLUTE(__reloc_end - __reloc_start);
|
|
__data_start = ABSOLUTE(.);
|
|
*(.rodata .rodata.*)
|
|
full_map = .;
|
|
} :rodata
|
|
.data : {
|
|
data_begin = .;
|
|
*(.data .data.*)
|
|
} :data
|
|
.bss : {
|
|
*(.bss .bss.*)
|
|
*(COMMON)
|
|
data_end = .;
|
|
} :data
|
|
.no_unwind : {
|
|
*(.no_unwind)
|
|
} :data
|
|
.dynamic : {
|
|
*(.dynamic)
|
|
} :data :dynamic
|
|
__data_end = ABSOLUTE(ALIGN(0x1000));
|
|
__data_size = ABSOLUTE(__data_end - __data_start);
|
|
__image_end = ABSOLUTE(ALIGN(0x1000));
|
|
/DISCARD/ : {
|
|
*(.eh_frame*)
|
|
*(.note .note.*)
|
|
*(.interp)
|
|
}
|
|
}
|