Module Name:    src
Committed By:   mrg
Date:           Wed Mar 28 19:24:52 UTC 2018

Modified Files:
        src/external/gpl3/gcc.old/dist/gcc/config/i386: constraints.md
            i386-opts.h i386-protos.h i386.c i386.h i386.md i386.opt
            predicates.md
        src/external/gpl3/gcc.old/dist/gcc/doc: extend.texi invoke.texi

Log Message:
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.

XXX: pullup-8 to gcc/ not gcc.old/


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
    src/external/gpl3/gcc.old/dist/gcc/config/i386/constraints.md \
    src/external/gpl3/gcc.old/dist/gcc/config/i386/i386-protos.h \
    src/external/gpl3/gcc.old/dist/gcc/config/i386/predicates.md
cvs rdiff -u -r1.3 -r1.4 \
    src/external/gpl3/gcc.old/dist/gcc/config/i386/i386-opts.h
cvs rdiff -u -r1.9 -r1.10 \
    src/external/gpl3/gcc.old/dist/gcc/config/i386/i386.c
cvs rdiff -u -r1.6 -r1.7 \
    src/external/gpl3/gcc.old/dist/gcc/config/i386/i386.h \
    src/external/gpl3/gcc.old/dist/gcc/config/i386/i386.md \
    src/external/gpl3/gcc.old/dist/gcc/config/i386/i386.opt
cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/gcc.old/dist/gcc/doc/extend.texi \
    src/external/gpl3/gcc.old/dist/gcc/doc/invoke.texi

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Reply via email to