小编jos*_*ecm的帖子

链接描述文件中的“ENTRY”是什么意思?

我开始学习为微控制器编写一些底层软件,并且我已经开始研究链接器脚本。

我真的不明白 ENTRY 命令在这种情况下的含义。由于大多数微控制器在预定地址开始执行,因此我们在链接描述文件中选择哪个入口点有什么区别?

microcontroller linker elf entry-point

5
推荐指数
1
解决办法
5350
查看次数

ld 创建具有错误权限的 elf 段

我正在编写一个裸机 aarch64 程序(工具链 aarch64-unknown-elf-),我使用以下链接器脚本构建该程序:

SECTIONS {
    .text :  {
        *(.text*)
    }

    .rodata ALIGN(CONSTANT(COMMONPAGESIZE)) :  {
        *(.rodata*)
    }

    .data ALIGN(CONSTANT(COMMONPAGESIZE)) : {
        *(.data .data.*)
    }

    .bss (NOLOAD) :  {  
        __bss_start = .;
        *(.bss*) 
        *(COMMON)   
        __bss_end = .;
    }
}
Run Code Online (Sandbox Code Playgroud)

使用 readelf 分析最终的可执行文件,我得到以下部分和段(即程序头):

There are 19 section headers, starting at offset 0xa4f58:

Section Headers:
  [Nr] Name              Type            Address          Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            0000000000000000 000000 000000 00      0   0  0
  [ 1] .text             PROGBITS        0000000000000000 010000 00f600 …
Run Code Online (Sandbox Code Playgroud)

linker elf ld

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

标签 统计

elf ×2

linker ×2

entry-point ×1

ld ×1

microcontroller ×1