[1430] in linux-announce channel archive

home help back first fref pref prev next nref lref last post

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.


home help back first fref pref prev next nref lref last post