This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Use longlong.h?


This started as a query on the newlib mailing list, but this now touched a
question which is important to a large number of other gcc users and
developers, which is why I am cross-posting this to the gcc mailing list.

Quoting Jeff Johnston <jjohnstn@redhat.com>:

Joern Rennecke wrote:
I've noticed that we could make the code that uses Storeinc / Pack_32
(dtoa.c and mprec.c in libc/stdlib) a lot more efficient if we used the
operations defined in longlong.h .
Would it be OK to use longlong.h in newlib?
If you are referring to the longlong.h found in gcc's source tree, no,
it is GPL.

Yes, that is the longlong.h I was referring to. I thought that it had the
gcc library exception, so that we could simply autoconf its use in newlib.
However, looking at the file, I see that you are correct, it is GPL without
a library exception.
This is not only a problem with the use in newlib I was thinking of, but
also with its usage in gcc by libgcc, because it means that programs linked
with libgcc have to be GPL licensed when distributed unless the user has a separate license from the included code from the author which allows
distribution other licenses.


If not, what longlong.h are you referring to and is it
guaranteed to exist for all platforms?

If the copyright notice of gcc's longlong.h is not fixed, longlong.h will have to be forked (where the Copyright assigner whishes the general usability of longlong.h, dual licensing of the contributed code is possible) / recoded by the poeople who want to provide GNU based toolchains which can be used to compile not only GPL software, but software with different licenses too. Which, I believe, is a large part of the gcc contributors.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]