Sebastian Huber schrieb:
Hello,

there are some files in gcc/config/* that contain the GCC Runtime Library Exception

grep -r --include='*.[ch]' 'GCC Runtime Library Exception' -l gcc/config | wc
    186     186    5361

and some files that don't include it

grep -r --include='*.[ch]' 'GCC Runtime Library Exception' -l gcc/config -v | wc
    753     753   20927

Does it matter? What should be used for new files?

Some machine headers are needed by libgcc.  Not all information is
available by means of built-in macros, so that compile-time decisions
in libgcc might need the target headers.

Likely, this dates back to the time when machine specific libgcc bits
where in gcc/config/$target.

Some users of (lib)gcc which compile their (proprietary) software
with gcc are paranoid about being infected by GPL due to using
libgcc which uses headers without runtime library exception.

https://gcc.gnu.org/ml/gcc-help/2012-08/msg00235.html

See also

https://gcc.gnu.org/PR61152

libgcc sources are not yet separated completey from the compiler, i.e.
it includes tm.h which in turn will include files from the compiler
backend like arm.h.

As such files go into libgcc, they should contain the GCC Runtime
Library Exception (RLE) in their license headers.

I know that these files actually don't add executable code to libgcc and
that the FSF is fine without RLE in these files, yet there are potential
users of GCC that are very concerned about linking their code against
libgcc and about the non-RLE files that are part of the libgcc sources:
as soon as a single file that goes into libgcc (e.g. by include) is GPL
but does not contain the RLE, they won't use GCC as a whole.

Thus, adding RLE to these files can greatly increase acceptance of
GCC/libgcc.


Johann

Reply via email to