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’t believe that we are using any of those files on platforms where clang 
is the default system compiler.  LLVM’s libUnwind should be able to handle 
PowerPC on Linux, so it’s 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:
> 
> 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 :
> 
> /* 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.  */
> 
> 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.)
> 
> For me this has no real implications: I do not distribute
> my experiments. But I was surprised by what I read.
> 
> Looking I find:
> 
> # 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,
> 
> ===
> Mark Millard
> marklmi at yahoo.com
> ( dsl-only.net went
> away in early 2018-Mar)
> 
> _______________________________________________
> freebsd-toolchain@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
> To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"

_______________________________________________
freebsd-toolchain@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-toolchain
To unsubscribe, send any mail to "freebsd-toolchain-unsubscr...@freebsd.org"

Reply via email to