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 在一直更新,以后个能会有新的功能

 

上一篇:牛客2018暑假多校训练营3


下一篇:The Blocks Problem UVA - 101