Octocontrabass wrote:
kerravon wrote:
I don't want copyright material linked into my executables.
Then you can't use GCC at all. GCC always includes copyrighted material in the executables it generates, whether you link with libgcc or not.
No it doesn't - not for my use anyway. It isn't aware of any of the source code it is given. It is entirely public domain.
And the output that I use is assembler. They don't own assembler mnemonics either.
And even those disappear before they get into the executable - and I'm using a public domain linker to do that even. And a public domain assembler for that matter.
Quote:
kerravon wrote:
And before you say "LGPL allows ..."
It's not LGPL, it's GPL with the GCC runtime library exception.
Actually it's neither (at least the version that came with gcc 3.2.3). Still copyrighted though. And still has a condition. Of course most will say that that condition isn't onerous. But try asking him to drop that restriction, drop the copyright statement, and add a public domain statement instead, and it turns out that that's a big deal after all.
D:\devel\gcc\gcc>e floatlib.c
/*
** libgcc support for software floating point.
** Copyright (C) 1991 by Pipeline Associates, Inc. All rights reserved.
** Permission is granted to do *anything* you want with this file,
** commercial or otherwise, provided this message remains intact. So there!
** I would appreciate receiving any updates/patches/changes that anyone
** makes, and am willing to be the repository for said changes (am I
** making a big mistake?).
Warning! Only single-precision is actually implemented. This file
won't really be much use until double-precision is supported.
However, once that is done, this file might make possible
cross-compilation for an IEEE target machine from a non-IEEE
host such as a VAX.
If you'd like to work on completing this, please talk to
[email protected].
--> Double precision floating support added by James Carlson on 20 April 1998.
**
** Pat Wood
** Pipeline Associates, Inc.
**
[email protected] or
** sun!pipeline!phw or
** uunet!motown!pipeline!phw
**
** 05/01/91 -- V1.0 -- first release to gcc mailing lists
** 05/04/91 -- V1.1 -- added float and double prototypes and return values
** -- fixed problems with adding and subtracting zero
** -- fixed rounding in truncdfsf2
** -- fixed SWAP define and tested on 386
*/
/*
** The following are routines that replace the libgcc soft floating point
** routines that are called automatically when -msoft-float is selected.
** The support single and double precision IEEE format, with provisions
** for byte-swapped machines (tested on 386). Some of the double-precision
** routines work at full precision, but most of the hard ones simply punt
** and call the single precision routines, producing a loss of accuracy.
** long long support is not assumed or included.
Quote:
If the runtime library exception is good enough for you to use GCC, you can use libgcc too. If the runtime library exception is not good enough for you to use libgcc, you can't use GCC either.
As far as I know, for my use, that is not true. I'm happy to be corrected if you can point to anything at all that goes into my executables that you believe belongs to the FSF.
And as to my original question, I now have something that will hopefully do the trick with a bit of work, from a public domain CPU (Plasma - almost the same as MIPS):
https://github.com/public-domain/plasma ... nel/math.cBFN. Paul.