gccとbinutilsとgdbのupgrade

gcc, binutils, gdbをupgradeする。
まるまるこのままやってちゃんと行く保証はないので参考程度にとどめてください。
また途中でやってる変更等も保証ありません。
# tar xvzf /some/where/gcc-2.95.2.tar.gz
# cd gcc-2.95.2/
# tar xvzf /some/where/binutils-2.9.5.0.16.tar.gz
# cd binutils-2.9.5.0.16
# mv bfd/ binutils/ gas/ gprof/ intl/ ld/ opcodes/ ..
# mv include/* ../include
# cd config
# for i in * ; do
#   if [ -f ../../config/$i ]; then rm -f $i ; fi
# done
# mv * ../../config ←なんかいわれるが無害
# cd ../..
# mv libiberty libiberty.old
# mv binutils-2.9.1.0.25/libiberty .
# rm -rf binutils-2.9.1.0.25/
# tar xvzf /some/where/gdb-4.18.tar.gz
# cd gdb-4.18
# mv gdb mmalloc sim readline utils ..
# cd ..
# mkdir obj
# cd obj
# ../configure --with-mmap --enable-languages="c,c++,java"
# vi gcc/Makefile ←collect2に-ldlでlinkするようにする
                    cxxmain.cが../libiberty.old/cplus-dem.cになるようにする
# vi gdb/Makefile ←gdbに-ldlでlinkするようにする
# make bootstrap 2>&1 | tee make_bootstrap.log
# make install

テスト
% cd /some/where
% gcc -v -o hello hello.c
Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/specs
gcc version 2.95.2 19991024 (release)
(snip)
GNU assembler version 2.9.5 (i686-pc-linux-gnu) using BFD version 2.9.5.0.16
% ./hello 
Hello, world.

(C)Copyright 2000 by Sian <sian@big.or.jp>
Last modified: Thu Feb 26 23:03:25 JST 2004