[1430] in linux-announce channel archive
gcc 2.7.2 binary is released.
daemon@ATHENA.MIT.EDU (Lars Wirzenius)
Sat Dec 9 01:22:08 1995
Date: Sat, 9 Dec 1995 00:28:25 +0200
From: Lars Wirzenius <wirzeniu@cc.helsinki.fi>
To: linux-announce@vger.rutgers.edu
From: hjl@nynexst.com (H.J. Lu)
Subject: gcc 2.7.2 binary is released.
Approved: linux-announce@news.ornl.gov (Lars Wirzenius)
Newsgroups: comp.os.linux.announce
Followup-to: comp.os.linux.development.system
Organization: ?
-----BEGIN PGP SIGNED MESSAGE-----
The Ada support in the gcc driver is added.
CAVEATS:
1. When you put
extern inline foo (....)
{
.......
}
in a header file, gcc may not inline foo () even if you include the
header file and use -O. It is documented in the gcc manual.
2. The ANSI C++ draft changed the for () scope:
for(int i=0; i < 4; i++);
i = 1;
no longer works by default. Please use -fno-for-scope if you want.
BUGS:
1. There are some x86 bugs in this release.
typedef unsigned short u_short;
- ---foo.c--
static int foo( u_short *bx, u_short *cx, u_short *dx )
{
u_short error;
__asm__ __volatile__( \
"nop\n\t" \
: "=a" (error), "=b" (*bx), "=c" (*cx), "=d" (*dx) \
: "0" (0x530a), "1" (1), "2" (2), "3" (3) \
: "ax", "bx", "cx", "dx", "si", "di", "bp", "memory");
return 0;
}
int main( void )
{
u_short bx, cx, dx;
bx = cx = dx = -1;
foo( &bx, &cx, &dx );
printf ("0x%x, 0x%x, 0x%x\n", bx, cx, dx);
}
- ----foo.c--
The correct output should be
# gcc -O3 foo.c
# a.out
0x1, 0x2, 0x3
This program may be miscompiled with -O0, -O1 and -O2. -O3 seems ok
since the function is inlined.
There is an ELF paper, elf.ps.gz, on the ftp sites. You should
read it if you want to write applications/libraries in ELF.
Some ELF related WWW pages:
1. http://www.intac.com/~cully/elf.html
2. http://www.sjc.ox.ac.uk/users/barlow/elf.html
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.
This is the ELF binary release of the gcc 2.7.2. It is based on the
gcc 2.7.2 release plus the gcc-2.7.2-linux.diff.gz patch. You should
use the Linux kernel 1.1.25 or above for the ELF binaries. The Linux
C library 4.7.5 (a.out) or above is required for generating the a.out
binaries and 5.2.15 (ELF) or above is also required to generating the
ELF binaries.
I have moved the g++ header files to /usr/include/g++. You should use
libg++ 2.7.1.3 or compatible one with this gcc release.
The file list
1. gcc-2.7.2.bin.tar.gz
In ELF and generate ELF binaries. gcc, g++, cpp, cc1, cc1plus,
cc1objc, protoize, unprotoize and version dependent header files.
Object C, protoize and unprotoize are untested. Also binaries in
ELF and generate a.out binaries. cpp, cc1, cc1plus, cc1objc and
version dependent header files. Objective C stuff is untested. To
install
gzip -dc gcc-2.7.2.bin.tar.gz | tar xvvf -
BTW, please fix the file permissions and ownerships if necessary.
To generate ELF binaries, please do
gcc
or
gcc -b i486-linux
To generate a.out binaries, please do
gcc -b i486-linuxaout
H.J.
hjl@gnu.ai.mit.edu
12/01/95
-----BEGIN PGP SIGNATURE-----
Version: 2.6.2i
iQCVAwUBMMi7MYQRll5MupLRAQEAfAP+IWv4DVp3vVQHUUDpS7+UIXy0ES7WbrPk
ue0zPUmIn5GTOxlFzzqvFtsF32Qr7NZsGvDhCfA4CTQr1FjzC9d1dwqA/440pE8W
xtOVJAbCcixgbLM1DsRYXN4bioUegt8ptyKAL64VqU2XJhTQo6Gyic7mlLaVJWEk
Ujm1EzGApRM=
=DIbz
-----END PGP SIGNATURE-----
--
This article has been digitally signed by the moderator, using PGP.
Finger wirzeniu@kruuna.helsinki.fi for PGP key needed for validating signature.
Send submissions for comp.os.linux.announce to: linux-announce@news.ornl.gov
PLEASE remember a short description of the software and the LOCATION.