下载glibc http://ftp.gnu.org/gnu/glibc/
you must configure in a separate build directory
我把glibc安装在/usr/local/glibc2121目录下
源代码放在/opt/glibc-2.12.1目录下
cd /usr/local/glibc2121
make
make install
=====================================================================
当然,想要可以gdb进入libc的源代码,config的时候需要使用debug参数
/opt/glibc-2.12.1/configure --prefix=/usr/local/glibc2121/ --enable-debug=yes CFLAGS="-O2 -g" CPPFLAGS="-O2 -g"
使用"-O2 -g"时,可能导致调试代码和程序不一致,这时可以使用“-O1 -g”
/opt/glibc-2.12.1/configure --prefix=/usr/local/glibc2121/ --enable-debug=yes CFLAGS="-O1 -g" CPPFLAGS="-O1 -g"
这时候,运行你的程序还是不能进入debug版本的libc,这时因为你的程序会默认使用系统的libc.so
可以使用export LD_LIBRARY_PATH=/usr/local/glibc2121/xxx,来修改程序搜索so的路径
或者可以在编译的时候指定rpath参数。