小编GNA*_*GNA的帖子

GNU链接器:ELF有一个具有RWX权限的LOAD段。嵌入式ARM项目

我已经更新了我的arm-none-eabi GCC 和相关工具,并重建了我开发的嵌入式项目。

$ arm-none-eabi-ld --version
GNU ld (GNU Binutils) 2.39
Run Code Online (Sandbox Code Playgroud)

突然,我收到警告 /usr/lib/gcc/arm-none-eabi/12.1.0/../../../../arm-none-eabi/bin/ld: warning: my_elf_file.elf has a LOAD segment with RWX permissions

这个警告似乎是新引入的。我最近没有更改源/链接描述文件。(编辑:我检查了使用先前版本创建的旧 ELF 文件。它在链接过程中没有打印警告,但有相同的问题)。我为 STM32F407 微控制器进行开发。我的链接器脚本中的内存配置如下:

MEMORY
{
    FLASH (xr)  : ORIGIN = 0x08000000, LENGTH = 512K
    RAM (xrw)   : ORIGIN = 0x20000000, LENGTH = 128K    
    CCM (rw)    : ORIGIN = 0x10000000, LENGTH = 64K
}
Run Code Online (Sandbox Code Playgroud)

查看链接的 ELF 我看到:

$ readelf -l my_elf_file.elf

Elf file type is EXEC (Executable file)
Entry point 0x800b1f1
There are 5 program headers, …
Run Code Online (Sandbox Code Playgroud)

ld binutils arm-none-eabi-gcc

14
推荐指数
1
解决办法
2万
查看次数

标签 统计

arm-none-eabi-gcc ×1

binutils ×1

ld ×1