reference:
http://www.360doc.com/content/09/0623/18/36491_4007725.shtml
http://ftp.gnu.org/pub/old-gnu/Manuals/ld-2.9.1/html_node/ld_toc.html
1. lds的基本格式
1.1section定义
SECTIONS { ... secname : { contents } ... }
2. kernel中的lds使用
gcc 中用-T 加上一个链接文件来描述链接出的elf文件的格式。
2.1 kernel中哪里用到了这个
在scripts/link-vmlinux.sh中有这么个函数
51 vmlinux_link()
52 {
53 local lds="${objtree}/${KBUILD_LDS}"
54
55 if [ "${SRCARCH}" != "um" ]; then
56
57 ${LD} ${LDFLAGS} ${LDFLAGS_vmlinux} -o ${2} \
58 -T ${lds} ${KBUILD_VMLINUX_INIT} \
59 --start-group ${KBUILD_VMLINUX_MAIN} --end-group ${1}
60 else
61 ${CC} ${CFLAGS_vmlinux} -o ${2} \
62 -Wl,-T,${lds} ${KBUILD_VMLINUX_INIT} \
63 -Wl,--start-group \
64 ${KBUILD_VMLINUX_MAIN} \
65 -Wl,--end-group \
66 -lutil ${1}
67 rm -f linux
68 fi
69 }
看到上面 -T ${lds}了么?ok,就是它了。