[comp.unix.aux] Updated gcc-1.39 for A/UX 2.0 now available

coolidge@cs.uiuc.edu (John Coolidge) (02/11/91)

An updated version of my gcc 1.39 port for A/UX 2.0 is now available
from wuarchive.wustl.edu. The files are the same as those mentioned
in the earlier release (gcc-1.39.{aux,bin}.tar.Z, gcc-1.39.aux.diffs).
This update fixes two problems with the previous release; you don't
need to get this version unless you need one of the fixes (or, like
me, you always want the latest version :-)).

Profiling: this version of gcc 1.39 supports profiling. Some moderately
ugly hacks were required to do this, because A/UX's profile increment
function is named 'mcount%' and gas appears to not like generating
function names with percent signs. The solution I'm using is a glue
routine in gcc-gnulib called 'mcount_' that just jumps to 'mcount%'.
Some fixes were made to tm.h to fix the earlier (broken) profiling
stuff. No attempt has yet been made to figure out gprof support.

Floating point bugs: previous versions of gcc have been subject to a
'one-in-a-million' bug when outputting floating point numbers in the
assembly output. The problem is that A/UX's *printf routines cannot
correctly output the value 0.0000001 (1e-07), incorrectly printing
':e-08'. As far as I can tell, this is the only floating point value
that doesn't work. The best solution is to get a working printf; as
an interim hack I've patched the compiler to check to see if it's
trying to output 1e-07 and, if so, just output it directly. This bug
appears when compiling X11R4 (server/ddx/mi/miarc.c). I'll be putting
out a fixed XmacII compiled with this version of gcc in the next few
days...

--John

--------------------------------------------------------------------------
John L. Coolidge     Internet:coolidge@cs.uiuc.edu   UUCP:uiucdcs!coolidge
Of course I don't speak for the U of I (or anyone else except myself)
Copyright 1991 John L. Coolidge. Copying allowed if (and only if) attributed.
You may redistribute this article if and only if your recipients may as well.