This is the beta release of binutils 2.6.0.13 for Linux, which is based on the binutils snapshot, gas-960408. It is a Linux only release. This release is only intended for an ELF based system. You also need libc 5.3.9 and gcc 2.7.2 or above. Some changes from 2.6.0.12 are: 1. Now the linker will consult /etc/ld.so.cache again for shared libraries included by DT_NEEDED. -Wl,-rpath-link is no longer needed if you compile on Linux for Linux. 2. The objdump core dump bug is fixe. I also include the cross assembler and cross linker binaries for SunOS and Solaris under Sparc, m68k/ELF and m68k/linuxaout as well as alpha running Linux. But you have to configure your cross compiler with # configure --prefix=/usr --local-prefix=/usr/local \ --gxx-include-dir=/usr/include/g++ \ --with-gnu-ld --with-gnu-as \ --host=i486-linux --target=sparc-sun-sunos4.1 for Sparc/SunOS, or # configure --prefix=/usr --local-prefix=/usr/local \ --gxx-include-dir=/usr/include/g++ \ --with-gnu-ld --with-gnu-as \ --host=i486-linux --target=sparc-sun-solaris2 for Sparc/Solaris, or # configure --prefix=/usr --local-prefix=/usr/local \ --gxx-include-dir=/usr/include/g++ \ --with-gnu-ld --with-gnu-as \ --host=i486-linux --target=m68k-linux for m68k/ELF, or # configure --prefix=/usr --local-prefix=/usr/local \ --gxx-include-dir=/usr/include/g++ \ --with-gnu-ld --with-gnu-as \ --host=i486-linux --target=m68k-linuxaout for m68k/a.out, or # configure --prefix=/usr --local-prefix=/usr/local \ --gxx-include-dir=/usr/include/g++ \ --with-gnu-ld --with-gnu-as \ --host=i486-linux --target=alpha-linux for alpha/Linux to use the cross assembler and linker binaries without any changes. This release contains "encaps" and a modified "objdump" by Ross. They are used to compile the Linux kernel in ELF. The primary ftp sites for the compiler/C library are tsx-11.mit.edu under pub/linux/packages/GCC and sunsite.unc.edu under pub/Linux/GCC. The beta directory is in private/tofu under the GCC directory. To install this package, please follow the procedure very closely. Please backup/save all the files you are instructed to delete and you should do gzip -dc binutils-2.6.0.13.bin.tar.gz | tar tvvf - to see what is in there. The binary file is binutils-2.6.0.13.bin.tar.gz. The source code is binutils-2.6.0.13.tar.gz. A diff against 2.6 is too big to be included. binutils-2.6.0.12-2.6.0.13.diff.gz is provided for binutils 2.6.0.12. Please do back up before you remove things. To install, PLEASE DO 1. su root 2. cd / 3. gzip -dc binutils-2.6.0.13.bin.tar.gz | tar xvvf - Now you have the new gas/binutils under /usr/bin and /usr/i486-linuxaout/bin. You have to do /usr/i486-linuxaout/bin/as and /usr/i486-linuxaout/bin/ld -m i386linux if you want to use a.out as and ld directly. If you don't need the cross assemblers/linkers for m68k-linux, m68k-linuxaout, sparc-sun-solaris2, sparc-sun-sunos4.1 nor alpha-linux, please do 1. su root 2. cd /usr 3. rm -rf m68k-linux m68k-linuxaout sparc-sun-solaris2 sparc-sun-sunos4.1 alpha-linux Thanks. H.J. Lu hjl@gnu.ai.mit.edu 04/17/96 ----- #! /bin/sh # # This is the shell script used to convert a static a.out library # into the one compatible with ELF by removing the leading underscore # in the global symbol names. # # Usage: convert libfoo.a [libbar.a ...] # # H.J. Lu # hjl@gnu.ai.mit.edu cwd=`pwd` prog=$0 usage () { echo Usage: $prog libfoo.a [libbar.a ...] } remove_underscore () { lib=$1 case $lib in lib*.a|*/lib*.a) if [ ! -f $lib ]; then echo $lib does not exist. usage exit -1 fi ;; *) echo $lib is not a static library. usage exit -1 ;; esac case $lib in /*) wd= ;; *) wd=$cwd ;; esac tmpdir=$$$$ cd /tmp rm -rf $tmpdir mkdir $tmpdir cd $tmpdir ar -x $wd/$lib for f in *.o do objcopy --remove-leading-char $f done ar -ucr ../`basename $lib` *.o cd .. rm -rf $tmpdir mv /tmp/$lib $cwd } for l in $* do cd $cwd remove_underscore $l done