This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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]

New GCC Runtime Library Exception: not fit for purpose


The definition of 'independent module' is such that it does not include files
that make no use of any runtime interfaces at all.  E.g. a newlib file
is an independent module if it uses a multiply and that multiply is
implemented as a libgcc function all by gcc, but if the multiply is
implemented by gcc with straightline assembly code, and there is no other
use of the Runtime library in this file, it will not qualify.
There are likely a large number of files in newlib that will not have a
Runtime library dependence at all on any target.

Moreover, even if the language would be fixed to allow files that have no
dependence on the runtime library, that would still not allow the inclusion
of files from newlib/libc/sys or newlib/libc/machine which are written
in assembly code:
The object files generated from these assembly sources are not included
in the definition of target code (it is not the output of a compiler).
Also, the assembly of these files is not a compilation process, since the input
is not a high level language.


Likewise, lots of third-party libraries will fall foul of these definitions
because some files do not use a Runtime library interface, and/or it contains
parts not coded in a high level language.

Note that there is also code which is not written in a high level language
which uses gcc runtime library interfaces.  For example, look at
libgloss/m68k/crt0.S , which uses __do_global_dtors .
That the license of libgloss is GPL-compatible does not help here,
since we want to allow people to link programs containing non-GPL-compatible
code simultanously against libgloss and libgcc.


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