RISCV GCC 链接文件 常用命令
作者:互联网
ENTRY(SYMBOL)
将符号 SYMBOL 设置为程序的入口地址
入口地址是进程执行的第一条指令在程序空间的地址。连接器 ld 中其他设置程序入口地址的方式包括:
1、采用 ld 命令行的参数 -e;
2、如果定义了 start 符号,则使用 start 符号值
3、如果存在 .text section , 则使用 .text section 的第一字节的位置值
INCLUDE filename
包含名称为 filename 的其他连机器过程的输入文件
INPUT(file,file,...)
将括号内的文件作为链接过程的输入文件
GROUP(file,file,...)
指定需要重复搜索符号的多个输入文件。 file 必须是库文件, 且 file 文件被ld 重复扫描,知道不再有新的未定义的引用出现
OUTPUT(filename)
定义输出文件的名字,等同于 ld 命令行参数 “-o filename”. 如果同时使用脚本文件和命令行参数,则命令行参数的优先级更高
STARTUP(filename)
制定 filename 为第一个输入文件
OUTPUT_ARCH(BFDARCH)
设置输出文件对应的处理器架构
OUTPUT_FORMAT(BFDNAME)
设置输出文件使用的 BFD 格式,等同于 ld 命令行参数 “-o format BFDNAME” 。 如果同时使用脚本文件和命令行参数,则命令行参数的优先级更高。
section | 说明 |
.sdata | 作为 8 字节或更少字节标量的外部变量,其值可能会被程序更改,应作为 .sdata(有初始值并且初始值不为0) 条目访问 |
.sbss | 作为 8 字节或更少字节标量的外部变量,其值可能会被程序更改,应作为 .sbss (无初始值或者初始值为0)条目访问 |
.data | 超过 8 字节标量的外部变量,其值可能会被程序更改,应作为 .data(有初始值切并且初始值不为0) 条目访问。 |
.bss | 超过 8 字节标量的外部变量,其值可能会被程序更改,应作为 .bss (无初始值或者初始值为0)条目访问。 |
.rodata | 目前const 声明的变量仍然是放在 .rodata 中,不存在大小区别的 |
LLVM 和 GCC 在一直更新,以后个能会有新的功能
标签:文件,GCC,字节,RISCV,初始值,命令行,filename,file,常用命令 来源: https://www.cnblogs.com/ICkeeper/p/15514775.html