Module Name: src Committed By: martin Date: Sun Apr 1 09:00:44 UTC 2018
Modified Files: src/external/gpl3/gcc/dist/gcc/config/i386 [netbsd-8]: constraints.md i386-opts.h i386-protos.h i386.c i386.h i386.md i386.opt predicates.md src/external/gpl3/gcc/dist/gcc/doc [netbsd-8]: extend.texi invoke.texi src/tools/gcc [netbsd-8]: gcc-version.mk Log Message: Pull up following revision(s) (requested by mrg in ticket #682): tools/gcc/gcc-version.mk: revision 1.10 (via patch) external/gpl3/gcc.old/dist/gcc/config/i386/i386.c: revision 1.10 external/gpl3/gcc.old/dist/gcc/config/i386/i386-protos.h: revision 1.6 external/gpl3/gcc.old/dist/gcc/config/i386/constraints.md: revision 1.6 external/gpl3/gcc.old/dist/gcc/doc/invoke.texi: revision 1.7 external/gpl3/gcc.old/dist/gcc/config/i386/i386.md: revision 1.7 external/gpl3/gcc.old/dist/gcc/doc/extend.texi: revision 1.7 external/gpl3/gcc.old/dist/gcc/config/i386/i386-opts.h: revision 1.4 external/gpl3/gcc.old/dist/gcc/config/i386/predicates.md: revision 1.6 external/gpl3/gcc.old/dist/gcc/config/i386/i386.h: revision 1.7 external/gpl3/gcc.old/dist/gcc/config/i386/i386.opt: revision 1.7 (with external/gpl3/gcc.old/ -> external/gpl3/gcc/) add the spectre mitigation options for x86: -mindirect-branch=<choice> -mfunction-return=<choice> -mindirect-branch-register the values for 'choice' are "keep" (default, existing behaviour), "thunk", "thunk-inline", and "thunk-extern". as taken from the Ubuntu port of these changes in their ubuntu:gcc-5_5.5.0-8ubuntu1.diff. i've also included the doc updates that are missing from ubuntu from gcc itself. i've tested both i386 and amd64 fairly heavily with these options enabled in both kernels and userland, atf runs and hundreds of package builds. bump the NetBSD GCC version. both GCC 5 and 6 got x86 spectre mitigation code, and both are now "nb2 20180327". To generate a diff of this commit: cvs rdiff -u -r1.1.1.5 -r1.1.1.5.8.1 \ src/external/gpl3/gcc/dist/gcc/config/i386/constraints.md cvs rdiff -u -r1.1.1.2 -r1.1.1.2.8.1 \ src/external/gpl3/gcc/dist/gcc/config/i386/i386-opts.h cvs rdiff -u -r1.1.1.4 -r1.1.1.4.8.1 \ src/external/gpl3/gcc/dist/gcc/config/i386/i386-protos.h \ src/external/gpl3/gcc/dist/gcc/config/i386/predicates.md cvs rdiff -u -r1.12.8.2 -r1.12.8.3 \ src/external/gpl3/gcc/dist/gcc/config/i386/i386.c cvs rdiff -u -r1.5.8.1 -r1.5.8.2 \ src/external/gpl3/gcc/dist/gcc/config/i386/i386.h cvs rdiff -u -r1.1.1.8.8.1 -r1.1.1.8.8.2 \ src/external/gpl3/gcc/dist/gcc/config/i386/i386.md cvs rdiff -u -r1.1.1.3.8.1 -r1.1.1.3.8.2 \ src/external/gpl3/gcc/dist/gcc/config/i386/i386.opt cvs rdiff -u -r1.1.1.7.8.1 -r1.1.1.7.8.2 \ src/external/gpl3/gcc/dist/gcc/doc/extend.texi cvs rdiff -u -r1.11.8.1 -r1.11.8.2 \ src/external/gpl3/gcc/dist/gcc/doc/invoke.texi cvs rdiff -u -r1.7 -r1.7.4.1 src/tools/gcc/gcc-version.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.