在上一节中,我们调试了malloc,调试它需要自己下载glibc的源码,自己编译,替换linux系统的c库。
环境当时用的是ubuntu14 ,glibc版本系统默认为glibc2.19. 我们用的是glibc2.21
下载源码:http://ftp.gnu.org/gnu/glibc
它需要安装linux-headers-·uname -r·
以及软件版本的要求:
make 3.79
gcc 4.6
binutils 2.22
texinfo 4.7
awk 3.1.2
per5 ---
sed 3.02
autoconf gettext 0.10.36
bison 2.7
由于内核比较新,所以编译的时候会提示找不到头文件等问题,需要:
点击(此处)折叠或打开
解决办法:
不是 ln –s /usr/include/asm-generic/ /usr/include/asm
而是
Ln –s /usr/include/i386-linux-gnu/asm /usr/include/asm
对于 64位系统,我们需要设置cflags中 –march=x86-64 ;其他的默认为-march=i486/i386/i686等
Ln –s
/usr/include/x86-64-linux-gnu/asm
/usr/include/asm
编译步骤:
#tar -zxvf glibc-2.21.tar.gz
#cd glibc-2.21