Linux之lds链接脚本学习笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zym326975/article/details/84854717

简单例子

以下脚本将输出文件的text section定位在0x10000,data section定位在0x800000:

SECTIONS
{
    . = 0×10000;
    .text : { *(.text) }
    . = 0×8000000;
    .data : { *(.data) }
    .bss : { *(.bss) }
}

简单脚本命令

ENTRY(SYMBOL):将符号SYMBOL的值设置成入口地址。

入口地址(entry point)是指进程执行的第一条用户空间的指令在进程地址空间的地址

ld有多种方法设置进程入口地址,按以下顺序:(编号越前,优先级越高)

1、ld命令行的-e选项

2、连接脚本的ENTRY(SYMBOL)命令

3、如果定义了start符号,使用start符号值

4、如果存在.text section,使用.text section的第一字节的位置值

5、使用值0

猜你喜欢

转载自blog.csdn.net/zym326975/article/details/84854717