SORT
SORT 关键字对满足字符串模式的所有名字进行递增排序。
e.g. 三个源文件 DemoA.c,DemoB.c 和 DemoC.c,其中 DemoA.c 引用 DemoA.c 和
DemoB.c 里面的函数,使用 GCC 生成独立的目标文件 DemoA.o,DemoB.o 和 DemoC.o。
ld 使用链接脚本 Demo.lds, 并且在 Demo.lds 里面使用 SORT 对输入 section 进行排
序:
DemoA.c
DemoB.c
DemoC.c
Demo.lds
另外不使用 SORT 的 DemoA.lds
使用如下命令进行编译和链接:
链接成功之后生成 a.out 可执行文件,使用 objdump 工具查看 a.out 的 ELF 文件布
局:
使用了 SORT 之后,DemoText section 的布局顺序是 DemoA.o, DemoB.o 和 DemoC.o。
而不使用 SORT 的情况如下:
通过上面数据可知,不使用 SORT 函数后,DemoText 的链接顺序是 DemoB.o, DemoA.o
和 DemoC.o。所以通过对比,SORT 可以排数输入文
附录
BiscuitOS Home
BiscuitOS Driver
BiscuitOS Kernel Build
Linux Kernel
Bootlin: Elixir Cross Referencer
赞赏一下吧 🙂