小编Leo*_*Leo的帖子

ELF部分的错误对齐值导致程序加载错误

我目前正在使用自定义链接描述文件构建玩具操作系统来创建二进制文件:

ENTRY(entry_point)

/* base virtual address of the kernel */

VIRT_BASE = 0xFFFFFFFF80000000;

SECTIONS
{
    . = 0x100000;

    /*
     * Place multiboot header at 0x10000 as it is where Grub will be looking
     * for it.
     * Immediately followed by the boot code
     */

    .boot :
    {
        *(.mbhdr)
        _load_start = .;
        *(.boot)

        . = ALIGN(4096);

        /* reserve space for paging data structures */

        pml4 = .;
        . += 0x1000;
        pdpt = .;
        . += 0x1000;
        pagedir = .;
        . += …
Run Code Online (Sandbox Code Playgroud)

c++ operating-system elf dynamic-linking virtual-memory

5
推荐指数
0
解决办法
727
查看次数