構(gòu)建帶內(nèi)存錯(cuò)誤檢查的gcc
——
http://gcc.gnu.org/
2. 下載gcc擴(kuò)展boundschecking。
http://sourceforge.net/projects/boundschecking/
3. 給gcc打上補(bǔ)丁。
[root@localhost toolchain]# tar jxvf /mnt/hgfs/linux/gcc-3.4.2.tar.bz2
[root@localhost toolchain]# bzip2 -d bounds-checking-gcc-3.4.2-1.00.patch.bz2
[root@localhost toolchain]# cd gcc-3.4.2/
[root@localhost gcc-3.4.2]# patch -p1 -s < ../bounds-checking-gcc-3.4.2-1.00.patch
4. 編譯
[root@localhost gcc-3.4.2]# cd ..
[root@localhost toolchain]# mkdir build
[root@localhost toolchain]# cd build/
[root@localhost build]# ../gcc-3.4.2/configure --prefix=/opt/gcc-3.4.2-bc
[root@localhost build]# make;make install
5. 使用
編譯時(shí)加”-g -fbounds-checking”,-g是為了讓bounds-cheking能找到符號表,報(bào)告 出現(xiàn)錯(cuò)誤的源代碼位置。如果是編譯共享庫,還要鏈接libbounscheking.a庫。
~~end~~
評論