ILD

Ian Lance Taylor
2017-7-17
第一次看到Ian的名字,是在他写的关于Linkers的博客里面,那时候我对Linker知之甚少(今天仍然是这样)。后面才发现他是Gold链接器的作者,gold的性能比GNU ld提升1倍以上。后来又发现,在GNU ld的manual中,赫然列着他的大名。现在Ian在Google工作。豆瓣上有一篇文章

ld (1): 调用ld
2017-7-8
接下来的系列,来自GNU ld manual的学习,侧重于使用。理论方面的学习,在Linkers & Loaders分类里面。1 Overviewld将目标文件和静态库文件结合在一起,重定向他们的数据,合并符号引用。编译程序的最后一步通常是运行ld。ld接受AT&T链接编辑命令语言语法(AT&T L

ld (2): 命令行参数
2017-7-8
本文罗列一些我现在理解的命令行参数。-e entry, --entry=entry使用entry符号,作为开始程序执行的入口,而不是缺省的入口点。如果没有entry符号,则链接器将其当做数字,作为入口地址。数字被翻译为10进制的;如果是0x开头,则被翻译为16进制的;如果是0开头,则是8进制。-fi

64位ubuntu安装32位包
2017-7-9
今天使用64位toolchain编译工程时,发现,toolchain依赖的共享库不存在,编译报错:herbert@Lenovo:/work/migration$ aarch64-buildroot-linux-gnu-cc test.c ../libexec/gcc/aarch64-bu

设置为粘贴模式
2017-7-13
vim设置自动缩进后,粘贴的时候会不断缩进。为了解决这个问题,先执行:set paste粘贴完毕后,在::set nopaste

无c库支持的hello world程序
2017-7-14
libc提供系统调用接口和程序的入口支持等。为了实现一个独立的程序,需要实现入口和系统调用。1 nostd.h先看源代码,nostd.h:123456789101112131415161718192021222324252627282930313233343536373839404142434445

dns配置文件
2017-7-16
glibc解析服务使用的dns服务器地址是通过下述文件配置的:/etc/resolv.conf1234herbert@Lenovo:~$ cat /etc/resolv.conf# Dynamic resolv.conf(5) file for glibc resolver(3) generated

ld (3): 链接脚本
2017-7-23
Introduction每一个链接都是链接脚本(linker script)控制的,脚本是按照链接器命令语言(linker command language)书写的。链接脚本的主要目的是描述输入文件的section如何映射到输出文件,以及如何控制输出文件的内存布局。除此之外,大多数链接脚本不做什么其

vim添加内核源码符号
2017-7-25
首先使用ctags命令创建ctags索引文件: ctags -R -f ctags/kernel-4.9 --tag-relative=yes kernel/linux-4.9.39/由于ctags文件和源码不在一个目录,所以使用--tag-relative=yes选项,否则,后续vim会提示找不到

vim设置自动缩进和table替换为4个空格
2017-7-25
ubuntu系统,在/etc/vim/vimrc最后添加下述几行即可:123set ts=4set expandtabset autoindent

Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.