From owner-freebsd-toolchain@freebsd.org Sun Oct 14 02:40:49 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 8A11110BFB00 for ; Sun, 14 Oct 2018 02:40:49 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic310-22.consmr.mail.gq1.yahoo.com (sonic310-22.consmr.mail.gq1.yahoo.com [98.137.69.148]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 15B3B74366 for ; Sun, 14 Oct 2018 02:40:48 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: 9YiVoOsVM1ntt8ENEDTYm.CzlPxc0qDAo4Wb2s0bot_MXS5wL8O0fQBI1_dclno Y3K7EdtcJMJkjoikYU4OJRkwYzuKLsfQTHOG3urRhz95AnEbqOeQ5QchMR0vqlahWVW0g9cpkatG Ztikl1mATAtCci.GLWWmtsI_mDnh3CNwoRPnMynno1xdgYCYkLVEjmUdP06snASmVoKyErZy6orY f6QpMbG6IjvzNAiK8v.fusysVqedSnxHpcS5_soypYoLozcLEVP301jOmotTm2J5a.O2c_Km7x89 C7ZjZrUEfIyHR3l.94h77rCxsms6qTbFfQo68gwESsg3mQSvDaHo.IN9dwp3qvACFT7M9o4bsK3o WTvFGv7mm0g0sfvTOl0yC024zsr5q6.grQ7cYxo93doxAKMaAIe11ZxJO5XGWHxWX93fs45QQWMw ojYSNEHAl_yDcmCBaE.02ILbMkvWLCb3L_AQN2b_TmD.CFyh6ZbrZYMqULdjAsJ8LpEHdAMngQ_A 3gGFuSlNVsC1YcHANmbB4C7cPcRJaAtjN7jVwBCAhC6vLnSDMPh7bd1SdHFuuU1PDbPfK6tbLkRd VXGmkx3C00tYE9FHzQXRlY_oWrqNPuBtkWfj2cX4m2Gr990Il1I2wsHVNDWafywdGvGb_OngLe5Q vDAobmHoXt1Mnkl4cNM7W93sZIvi8IEkNrFX85t_2Mkz6NPeJ_iSbiho6AKMhHVNWeCJ86anhzNu rTqeWxRTDg.stUwaCTuEXvKdjAX.eaM.8wcvCW2D1SuXuCuDB3W8ZPcdJs8hyOKeNM20HGv1fgK9 5zSABX_OGmk9vWyA4g4Bo8f7L2Jl3xQq_hqLI2hXQBX5BnDlaAxd3Hv3NuUj.mQCiAikb59hU3o0 mJKQOWh_UIf642TE0igVFYs.8GM2lbztydOawvQKcDE.4Gtb03QPYMJNWnMu2SbIoRuQwO0CIv3n y9RDscv9UXBlMzOuknikqLwKWPiQjg_6pQ8gWbOB6xJkYDK5kPJMrXTHKLVGUD1pVO2n8jO44F7V ArKdl.w4nrgHpFCLRZtuqcLPJ049Jh3Z4YapcNgN14woizwwZuCwBM5xWan0euWWT4.cbBs8ny09 q_dAEwQ-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic310.consmr.mail.gq1.yahoo.com with HTTP; Sun, 14 Oct 2018 02:40:47 +0000 Received: from c-76-115-7-162.hsd1.or.comcast.net (EHLO [192.168.1.25]) ([76.115.7.162]) by smtp420.mail.gq1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 3598d8044ca8e133d087ea983e959340; Sun, 14 Oct 2018 02:40:47 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) Subject: Re: GPL requirements vs. "some of which are compiled with GCC" terms in special exceptions? From: Mark Millard In-Reply-To: <61B6C299-2F93-4678-8928-3CABDFED6623@FreeBSD.org> Date: Sat, 13 Oct 2018 19:40:46 -0700 Cc: FreeBSD Toolchain Content-Transfer-Encoding: quoted-printable Message-Id: References: <5449BAA6-E022-4DE4-870A-8AE132A6F9FA@yahoo.com> <61B6C299-2F93-4678-8928-3CABDFED6623@FreeBSD.org> To: David Chisnall X-Mailer: Apple Mail (2.3445.9.1) 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: Sun, 14 Oct 2018 02:40:49 -0000 On 2018-Oct-13, at 10:15 AM, David Chisnall = wrote: > 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 see. Good to know. > 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. Last I tried llvm's libunwind for powerpc64 was back in = 2016-Dec/2017-Jan. See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D215039 . There = was also the llvm submittal 31590. I might try it again at some point. But clang and llvm have other issues = for use for buildworld buildkernel as well as I understand. (But I'm doing = some new experiments these days.) I've no clue if llvm's libunwind is intended to be compliant with the powerpc64 and powerpc ABIs that FreeBSD bases itself on for the powerpc family. >> 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)