This is the beta release of binutils 2.6.0.15 for Linux, which is based on the binutils snapshot, gas-960601. It is a Linux only release. This release is only intended for an ELF based system. It should work on other systems. But I cannot fix non-linux bugs. You also need libc 5.4.1 and gcc 2.7.2 or above. Some changes from 2.6.0.14 are: 1. All the executable binaries and shared libraries are compiled with -g1. You can strip them if you don't want any debug information. 1. I put in all the missing files. binutils/sysroff.info is there. 2. Some bad x86 opcodes are removed. Some changes from 2.6.0.12 are: 1. Linux/alpha support in the binary release is dropped due to its magic conflict with linux/m68k. 2. A m68000 offset bug in gas is fixed. 3. 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. 4. 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. To use the cross assembler and linker binaries without any changes, you have to configure your cross compiler with a. Sparc/SunOS: # 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 b. Sparc/Solaris: # 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 c. m68k/ELF: # 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 d. m68k/a.out: # 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 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.15.bin.tar.gz | tar tvvf - to see what is in there. The binary file is binutils-2.6.0.15.bin.tar.gz. The source code is binutils-2.6.0.15.tar.gz. A diff against 2.6 is too big to be included. binutils-2.6.0.14-2.6.0.15.diff.gz is provided for binutils 2.6.0.15. Please do back up before you remove things. To install, PLEASE DO 1. su root 2. cd / 3. gzip -dc binutils-2.6.0.15.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 nor sparc-sun-sunos4.1, please do 1. su root 2. cd /usr 3. rm -rf m68k-linux m68k-linuxaout sparc-sun-solaris2 sparc-sun-sunos4.1 Thanks. H.J. Lu hjl@gnu.ai.mit.edu 06/01/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