From mboxrd@z Thu Jan 1 00:00:00 1970 From: hjl@lucon.org (H.J. Lu) To: linux-gcc@vger.rutgers.edu (linuxgcc) Cc: egcs@cygnus.com, libc-linux@gnu.org (GNU C Library), kjahds@kjahds.com (Kenneth Albanowski), lmfken@lmf.ericsson.se (Kenneth Osterberg), ian@lasermoon.co.uk, mat@lcs.mit.edu (Mat Hostetter), doughera@lafcol.lafayette.edu (Andy Dougherty), brian@mathworks.com (Brian Bourgault), john@etools.com (John W. Christy), craig@metrolink.com (Craig Groeschel), imp@village.org (Warner Losh), robf@Willows.Com (Rob Farnum), meissner@cygnus.com (Michael Meissner), rfg@monkeys.com (Ron Guilmette), roell@xinside.com (Thomas Roell), burley@gnu.org (Craig Burley), linux-binutils-in@polstra.com (John Polstra), galenh@micron.net (Galen Hazelwood), ralf@mailhost.uni-koblenz.de (Ralf Baechle) Subject: binutils 2.8.1.0.24 is released. Date: Sat, 21 Mar 1998 13:50:00 -0000 Message-id: X-SW-Source: 1998-03/msg00708.html Hi, sunite.unc.edu is full again. Please use tsx-11.mit.edu and ftp.yggdrasil.com. I'd like to release it to public after some testing. Please check it out as much as you can, especially on Sparc/ELF, i.e., Linux and also Solaris if possible. Thanks. -- H.J. Lu (hjl@gnu.org) --- This is the beta release of binutils 2.8.1.0.24 for Linux, which is based on the binutils 980320 snapshot plus Linux/ARM support. There was some problem on Linux/alpha. It turned out it was a bug in the alpha dynamic linker in glibc 2.0.6. The current glibc 2.1 and glibc 2.0.7 should be ok. This release should work on linux/x86. There are some ELF bug fixes. But I don't know if it fixes all the bugs reported on linux/sparc, Linux/MIPS and linux/PPC. I'd like to hear reports on them. Please report any bugs related to binutils 2.8.1.0.24 to hjl@gnu.org. Changes from binutils 2.8.1.0.23: 1. Update from the binutils gas-980320. 2. Fix an x86 assembler bug. 3. Fix a Sparc/ELF bfd bug. IMPORTANT: The .plt format that the Alpha was using was not thread safe. So I changed it. The new format is *not* binary compatible with the old, thus you must use glibc 2.0.4 to get an ld.so that can understand it. Note that the new ld.so knows how to deal with the old .plt format, so old libraries will still work, but they should be relinked eventually for performance reasons. The file list: 1. binutils-2.8.1.0.24.tar.gz. Source code. 2. binutils-2.8.1.0.23-2.8.1.0.24.diff.gz. Patch against the previous beta source code. 3. binutils-2.8.1.0.24.bin.tar.gz. Precompiled Linux/x86 binaries for libc 5. 4. binutils-2.8.1.0.24-glibc.bin.tar.gz. Precompiled Linux/x86 binaries for libc 6 (glibc 2.0.5c or above). 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. Most of my stuff can also be found at ftp://ftp.yggdrasil.com/private/hjl To install the binary 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.8.1.0.24.bin.tar.gz | tar tvvf - or gzip -dc binutils-2.8.1.0.24-glibc.bin.tar.gz | tar tvvf - to see what is in there. Please do back up before you remove things. To install for libc 5, PLEASE DO 1. su root 2. cd / 3. rm -f /usr/bin/encaps /usr/bin/nm 4. gzip -dc binutils-2.8.1.0.24.bin.tar.gz | tar xvvf - 5. ldconfig To install for libc 6 (glibc 2.0.5c or above), PLEASE DO 1. su root 2. cd / 3. rm -f /usr/bin/encaps /usr/bin/nm 4. gzip -dc binutils-2.8.1.0.24-glibc.bin.tar.gz | tar xvvf - 5. ldconfig Now you have the new gas/binutils under /usr/bin and /usr/ix86-linuxaout/bin. You have to use /usr/ix86-linuxaout/bin/as and /usr/ix86-linuxaout/bin/ld -m i386linux if you want to use a.out as and ld directly. I have changed the target names for Linux/x86 and Linux/x86 (a.out) to ix86-linux and ix86-linuxaout respectively. The precompiled binaries are installed under /usr/ix86-linux and /usr/ix86-linuxaout. You should make appropriate symbolic links if you have a different name for the Linux/x86 target, like i586-unknown-linux. If you have an old linux library in the a.out format and you cannot obtain the newer version in the ELF format for whatever reason, you can try "objcopy --remove-leading-char" on the a.out library and see if it can link with your code in ELF. For Sybase client libraries, I did # cd sybase/lib # for f in *.a do objcopy --remove-leading-char $f done It seems to compile/link fine with libc 5.4.2x. But I don't know if it really works or not. The resulting binaries should work if the libc ABI used by the old library is unchanged in the new libc. According to Bruce Milner : Just a quick note about your example using objcopy for sybase. The sybase a.out libraries "are" dependent on a changed feature of the libc ABI. The ctype macros changed to a byte order independent format (little endian). In order to use the sybase libraries, one needs to rename the the ctype table variables in the sybase library files and link in an old version of the libc's "C-ctype.o ctype-info.o" files. thain@sunquest.sunquest.com put a ELF'ized version of these libraries on ftp://mudshark.sunquest.com/pub/ctlib-linux-elf Thanks. H.J. Lu hjl@gnu.org 03/20/98