Date: Sat, 13 Oct 2018 18:15:56 +0100 From: David Chisnall <theraven@FreeBSD.org> To: Mark Millard <marklmi@yahoo.com> Cc: FreeBSD Toolchain <freebsd-toolchain@freebsd.org> Subject: Re: GPL requirements vs. "some of which are compiled with GCC" terms in special exceptions? Message-ID: <61B6C299-2F93-4678-8928-3CABDFED6623@FreeBSD.org> In-Reply-To: <5449BAA6-E022-4DE4-870A-8AE132A6F9FA@yahoo.com> References: <5449BAA6-E022-4DE4-870A-8AE132A6F9FA@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a known problem with the GCC runtime libraries. GCC 4.3 and = later have a much better exemption (which talks about any eligible = compilation process, rather than being compiled with GCC), but those are = GPLv3 and so unacceptable for FreeBSD. I don=E2=80=99t believe that we are using any of those files on = platforms where clang is the default system compiler. LLVM=E2=80=99s = libUnwind should be able to handle PowerPC on Linux, so it=E2=80=99s = worth checking if this is the case on FreeBSD. David > On 13 Oct 2018, at 18:12, Mark Millard via freebsd-toolchain = <freebsd-toolchain@freebsd.org> wrote: >=20 > While investigating powerpc64 C++ exception handling for > builds under devel/powerpc64-gcc I ran into the following > in /usr/src/contrib/gcc/unwind-dw2-fde-glibc.c : >=20 > /* As a special exception, if you link this library with other files, > some of which are compiled with GCC, to produce an executable, > this library does not by itself cause the resulting executable > to be covered by the GNU General Public License. > This exception does not however invalidate any other reasons why > the executable file might be covered by the GNU General Public = License. */ >=20 > So in contexts were clang/llvm is used to exclusion . . . are > any such files in use? (I happen to be using devel/powerpc64-gcc at > the moment.) >=20 > For me this has no real implications: I do not distribute > my experiments. But I was surprised by what I read. >=20 > Looking I find: >=20 > # grep -r "some of which are compiled with GCC" /usr/src/* | more > /usr/src/contrib/gcc/config/i386/gthr-win32.c: some of which are = compiled with GCC, to produce an executable, > /usr/src/contrib/gcc/config/ia64/crtend.asm: some of which are = compiled with GCC, to produce an executable, > /usr/src/contrib/gcc/config/ia64/fde-glibc.c: some of which are = compiled with GCC, to produce an executable, > /usr/src/contrib/gcc/config/ia64/crtbegin.asm: some of which are = compiled with GCC, to produce an executable, > /usr/src/contrib/gcc/config/ia64/lib1funcs.asm: some of which are = compiled with GCC, to produce an executable, > /usr/src/contrib/gcc/config/ia64/crtfastmath.c: some of which are = compiled with GCC, to produce an executable, > /usr/src/contrib/gcc/config/ia64/unwind-ia64.c: some of which are = compiled with GCC, to produce an executable, > /usr/src/contrib/gcc/config/mips/mips16.S: some of which are = compiled with GCC, to produce an executable, > /usr/src/contrib/gcc/config/vxlib.c: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/libgcc2.h: some of which are compiled with GCC, = to produce an executable, > /usr/src/contrib/gcc/gthr-posix95.h: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/gthr-posix.h: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/gthr-posix.c: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/gbl-ctors.h: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/gthr-gnat.c: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/gthr-rtems.h: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/gthr-vxworks.h: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/gthr-dce.h: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/gthr-nks.h: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/gthr-tpf.h: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/gthr-aix.h: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/gthr-lynx.h: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/gthr-solaris.h: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/gthr.h: some of which are compiled with GCC, to = produce an executable, > /usr/src/contrib/gcc/gcov-io.h: some of which are compiled with GCC, = to produce an executable, > /usr/src/contrib/gcc/gthr-gnat.h: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/gthr-single.h: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/gthr-win32.h: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/tsystem.h: some of which are compiled with GCC, = to produce an executable, > /usr/src/contrib/gcc/typeclass.h: some of which are compiled with = GCC, to produce an executable, > /usr/src/contrib/gcc/unwind-dw2-fde-glibc.c: some of which are = compiled with GCC, to produce an executable, > /usr/src/contrib/gcc/unwind-dw2-fde-darwin.c: some of which are = compiled with GCC, to produce an executable, >=20 > =3D=3D=3D > Mark Millard > marklmi at yahoo.com > ( dsl-only.net went > away in early 2018-Mar) >=20 > _______________________________________________ > freebsd-toolchain@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain > To unsubscribe, send any mail to = "freebsd-toolchain-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?61B6C299-2F93-4678-8928-3CABDFED6623>