2 November 2004 This is an approved src.alt for 252.eon in CPU2000 v1.2. It addresses three separate problems: - some compilation environments (GLIBC 2.3.2+) do not export errno by default. - some compilation environments (GCC) have a conflicting definition of fmax(). - some compilation environments have removed legacy headers (.NET 2003) To apply the src.alt, unpack the tar file in the top level of the CPU2000 directory. The following sequence of commands should accomplish this: $ /bin/sh $ cd $ . ./shrc $ go top $ specgzip -dc | spectar -xvf - Please replace the items in angle brackets ( <> ) as appropriate. To have the src.alt applied during compilation, please add the following stanza to your config file: # Enable 252.eon standard C++ src.alt 252.eon=default=default=default: srcalt=stdcpp This src.alt makes three performance neutral portability-related changes to 252.eon. First, the file ggErr.cc in 252.eon uses errno without including . This causes a problem with the GNU C Library version 2.3.2 (and presumably later versions as well), as it does not export errno. ISO C++ says in 17.4.12 that errno is a macro and has to be included. Second, the file ggRGBE.cc contains a declaration for an inline fmax() function that differs from the one in the G++ header files. Because this fmax() is only used within ggRGBE.cc, it has simply been renamed. Finally, wrappers for iostream.h and fstream.h have been provided for the benefit of systems like Microsoft .NET 2003 that do not provide iostream.h at all. Please address any questions about this src.alt to cpu2000support@spec.org.