It seems like everyone agrees that we shouldn't change code just to work
around compiler bugs. (01)
One of the goals of NLS Restoration project is to make available the
entire NLS system, including everything that is needed to run it, both
in source and binary form. We'd like to make it as easy as possible for
people to get started using the system right away. Of course, for most
people that will mean making a pre-built binary available. We'd also
like to make it as easy as possible to build the whole environment
(including klh10) from source code. (02)
Perhaps we could make available a separate Makefile (or additional
target in the current ./bld/lnx86/Makefile) only for Linux gcc-4.x
systems which would pre-patch (using the workaround changes that Alex
provided) just for that system? We could then add some documentation
that describes this is purely as a convenience mechanism for the new
user to workaround the broken gcc behavior. (03)
Are there other suggestions or ideas that would help us reach our NLS
Restoration goals? (04)
Jonathan (05)
Alex Bochannek wrote:
> Hi Mark! Good to hear from you. Comments inline.
>
> Mark Crispin <MRC@CAC.Washington.EDU> writes:
>
>> I concur with this sentiment as well. It seems to me that changing
>> valid code to work around a compiler bug is ultimately a no-win
>> situation; what if GCC 4.1.69.105 does the right thing for ternary
>> operators but screws up on if/else?
>
> There always will be compiler bugs and code that needs to work around
> them. At least it looks like a front-end bug and not a problem with
> some obscure back-end optimization that only fails once in a blue
> moon. We will definitely report this one to our compiler support
> vendor and hopefully get GCC fixed.
>
>> I have problems with the logf change too. logf is only supposed to be
>> defined if <math.h> is included, which it isn't in tapedd.c. It is
>> presumptious, to say the least, for a C compiler to decide that an
>> optional C library function is now a C language reserved word.
>
> It's a GCC built-in and I guess one could turn it off with
> -fno-builtin-logf, but that doesn't seem worth the trouble. (See
> <http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Other-Builtins.html>)
>
> Alex. (06)
_________________________________________________________________
Message Archives: http://chm.cim3.net/forum/nls-technical/
Shared Files: http://chm.cim3.net/file/work/project/nls-restore/
Community Portal: http://www.computerhistory.org/
To Post: mailto:nls-technical@chm.cim3.net
Community Wiki: http://chm.cim3.net/cgi-bin/wiki.pl?NLS_Restoration (07)
|