# Save these, since we don't use these versions: mkdir /tmp/savebin cp -a /usr/bin/strings /usr/bin/c++filt /tmp/savebin tar xzvf binutils-2.9.1.0.25.tar.gz cd binutils-2.9.1.0.25 # Install the old a.out stuff for libc4. (yes, we still support compiling for that :) ./configure --prefix=/usr \ --enable-shared \ --enable-targets=i386-slackware-linux-gnuaout \ i386-slackware-linux-gnuaout make CFLAGS=-O2 LDFLAGS=-s make CFLAGS=-O2 LDFLAGS=-s install # Now we'll install the gnulibc1 target for libc5 compatibility: make clean ./configure --prefix=/usr \ --enable-shared \ --enable-targets=i386-slackware-linux-gnulibc1 \ i386-slackware-linux-gnulibc1 make CFLAGS=-O2 LDFLAGS=-s make CFLAGS=-O2 LDFLAGS=-s install # Now install the default ELF target. We'll use this target for libc6, but will enable all the # supported targets to make sure the various binutils utilities that are symlinked to in /bin are # cross platform. make clean ./configure --prefix=/usr \ --enable-shared \ --enable-targets=i386-slackware-linux,i386-slackware-linux-gnulibc1,i386-slackware-linux-gnuaout \ i386-slackware-linux make CFLAGS=-O2 LDFLAGS=-s make CFLAGS=-O2 LDFLAGS=-s install mkdir /usr/doc/binutils-2.9.1.0.25 cp -a COPYING* Chang* README /usr/doc/binutils-2.9.1.0.25 chown -R root.root /usr/doc/binutils-2.9.1.0.25 find . -name "as.info*" -exec cp -a {} /usr/info \; find . -name "bfd.info*" -exec cp -a {} /usr/info \; find . -name "ld.info*" -exec cp -a {} /usr/info \; find . -name "gprof.info*" -exec cp -a {} /usr/info \; find . -name "binutils.info*" -exec cp -a {} /usr/info \; ( cd /usr/bin ; mv strings strings-GNU ) ( cd /usr/man/man1 ; mv strings.1 strings-GNU.1 ) rm /usr/man/man1/c++filt.1 # Put default versions back: cp -a /tmp/savebin/* /usr/bin # Now, make symlinks for the binaries in /usr/i386*/bin to the utils # in /usr/bin. EXCEPT: Don't like 'as' and 'ld' in non-default # targets (libc4 and libc5). # Move ldscripts to /usr/lib/ldscripts. # Link /usr/i386-slackware-linux/lib/ldscripts/ to /usr/lib/ldscripts. # Link /usr/i386-slackware-linux-gnuaout/lib/ldscripts/ to /usr/lib/ldscripts. # Don't link the libc5 stuff. It'll have to be changed. # Make sure the ldscripts search the full library path for libc6, and only # the /usr/i386-*/lib/ path for non-default targets. # Whew! :)