Skip site navigation (1)Skip section navigation (2)
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>