svn commit: r422956 - in head: emulators/virtualbox-ose games/eduke32 games/openbor graphics/php55-gd graphics/php56-gd graphics/php70-gd mail/thunderbird multimedia/avidemux multimedia/ffmpeg mult...
Mark Millard
markmi at dsl-only.net
Fri Sep 30 07:48:49 UTC 2016
Quoting . . .
> Note, FreeBSD 9.x now builds with Clang 3.4 because GCC 4.2 fails:
>
> vp9/encoder/x86/vp9_frame_scale_ssse3.c: In function 'eight_tap_row_ssse3':
> vp9/encoder/x86/vp9_frame_scale_ssse3.c:93: internal compiler error: in simplify_binary_operation_1, at simplify-rtx.c:2563
> Please submit a full bug report,
> with preprocessed source if appropriate.
. . .
> Modified: head/multimedia/libvpx/Makefile
> ==============================================================================
> --- head/multimedia/libvpx/Makefile Thu Sep 29 23:35:31 2016 (r422955)
> +++ head/multimedia/libvpx/Makefile Fri Sep 30 01:15:10 2016 (r422956)
> @@ -3,8 +3,7 @@
. . .
> -USES= compiler cpe gmake perl5 shebangfix tar:bzip2
> +USES= compiler:c11 cpe gmake perl5 shebangfix tar:bzip2
The failure seems to be amd64 specific (sse3 seems to be mentioned) or at least unlikely to be involved for something like powerpc64 or powerpc. powerpc64 and powerpc buildworld/buildkernel are not done with clang (the attempt fails to work) but with gcc 4.2.1 --and a system clang may not be present.
[Note: The following is actually based on defects verified in clang++ 3.8.0. Trunk upstream only got some fixes very recently and I expect that older clangs are just as problematical.]
clang/clang++ does not even follow the powerpc (non-64) ABI correctly (requiring a stack-"red-zone" to protect the stack contents for signals). (There are more c++ specific issues for both powerpc64 and powerpc, such as exception handling being messed up for both.)
So if/when compiler:c11 binds to a clang (system or port) for powerpc (non-64) I expect that powerpc would be broken. (I'm not sure about powerpc64 for clang for C11: it might work.)
So despite the later:
> .elif ${ARCH} == "powerpc"
> CONFIGURE_ARGS+= --target=ppc32-linux-gcc
> .elif ${ARCH} == "powerpc64"
> CONFIGURE_ARGS+= --target=ppc64-linux-gcc
For powerpc I expect that use of a gcc port for C11 for may be required.
I do not know if there are other processor families that might have issues with the changes or not.
It might have been safer to change only the amd64 build behavior.
===
Mark Millard
markmi at dsl-only.net
More information about the svn-ports-head
mailing list