From owner-freebsd-toolchain@freebsd.org Sat Oct 13 17:16:10 2018 Return-Path: Delivered-To: freebsd-toolchain@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AC0E610D0456 for ; Sat, 13 Oct 2018 17:16:10 +0000 (UTC) (envelope-from theraven@FreeBSD.org) Received: from theravensnest.org (theravensnest.org [46.226.110.62]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "theravensnest.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3F67882B41 for ; Sat, 13 Oct 2018 17:16:10 +0000 (UTC) (envelope-from theraven@FreeBSD.org) Received: from [192.168.1.65] (host86-136-0-129.range86-136.btcentralplus.com [86.136.0.129]) (authenticated bits=0) by theravensnest.org (8.15.2/8.15.2) with ESMTPSA id w9DHEiKp012534 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sat, 13 Oct 2018 17:14:44 GMT (envelope-from theraven@FreeBSD.org) X-Authentication-Warning: mail: Host host86-136-0-129.range86-136.btcentralplus.com [86.136.0.129] claimed to be [192.168.1.65] Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 12.0 \(3445.100.39\)) Subject: Re: GPL requirements vs. "some of which are compiled with GCC" terms in special exceptions? From: David Chisnall In-Reply-To: <5449BAA6-E022-4DE4-870A-8AE132A6F9FA@yahoo.com> Date: Sat, 13 Oct 2018 18:15:56 +0100 Cc: FreeBSD Toolchain Content-Transfer-Encoding: quoted-printable Message-Id: <61B6C299-2F93-4678-8928-3CABDFED6623@FreeBSD.org> References: <5449BAA6-E022-4DE4-870A-8AE132A6F9FA@yahoo.com> To: Mark Millard X-Mailer: Apple Mail (2.3445.100.39) X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 13 Oct 2018 17:16:10 -0000 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 = 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"