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.