nixpkgs/pkgs/development/compilers/gcc
Antoine Eiche ada2fc088c gcc49: backport retpoline support
To mitigate Spectre Variant 2, GCC needs to have retpoline
support (-mindirect-branch and -mfunction-return arguments on amd64
and i386).

Patches were pulled from H.J. Lu's backport branch to
4.9 (hjl/indirect/gcc-4_9-branch), available at
https://github.com/hjl-tools/gcc/tree/hjl/indirect/gcc-4_9-branch/master. Upstream
GCC does not apply patches to anything older than the
gcc-6-branch. H.J. Lu is the author of the upstream retpoline commits
as well.

Several Linux distributions already backported these patches to GCC 4
branches and some old kernels (3.13 for instance) have been recompiled
with these GCC patches. These kernels only allow to load kernel
modules that are compiled with the retpoline support.

References:
- Ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/gcc-4.8/+bug/1749261
- Ubuntu package: https://launchpad.net/ubuntu/+source/gcc-4.8/4.8.4-2ubuntu1~14.04.4

Fixes #38394
2018-05-03 11:35:49 +02:00
..
4.8 treewide: isArm -> isAarch32 2018-04-25 15:28:55 -04:00
4.9 gcc49: backport retpoline support 2018-05-03 11:35:49 +02:00
5 treewide: isArm -> isAarch32 2018-04-25 15:28:55 -04:00
6 treewide: isArm -> isAarch32 2018-04-25 15:28:55 -04:00
7 treewide: isArm -> isAarch32 2018-04-25 15:28:55 -04:00
snapshot treewide: isArm -> isAarch32 2018-04-25 15:28:55 -04:00
builder.sh treewide: Remove gnat support. 2018-03-08 13:56:36 -05:00
gfortran-darwin-NXConstStr.patch gcc: fix #12836: build on darwin 2016-02-17 09:42:10 +01:00
gfortran-driving.patch gcc: Remove duplicate files 2015-05-12 15:05:01 +02:00
libstdc++-hook.sh Add space for NIX_CXXSTDLIB_COMPILE+=' ...' as NIX_CXXSTDLIB_COMPILE might not be empty. 2018-03-19 13:18:49 +01:00
libstdc++-target.patch gcc: Remove duplicate files 2015-05-12 15:05:01 +02:00
no-sys-dirs.patch gcc: Remove duplicate files 2015-05-12 15:05:01 +02:00
parallel-bconfig.patch gcc: Remove duplicate files 2015-05-12 15:05:01 +02:00
res_state-not-declared.patch gcc-4.8: fix with glibc-2.26 2017-11-07 14:53:10 +01:00
sigsegv-not-declared.patch gcc-4.8: fix with glibc-2.26 2017-11-07 14:53:10 +01:00
struct-sigaltstack-4.9.patch gcc-4.9: fixup build with glibc-2.26 2017-11-07 12:56:57 +01:00
struct-sigaltstack.patch gcc6: fix build with new glibc, by upstream patches 2017-11-05 19:09:53 +01:00
struct-ucontext-4.5.patch gcc-4.5: fixup build with glibc-2.26 2017-11-07 15:39:24 +01:00
struct-ucontext-4.8.patch gcc-4.8: fix with glibc-2.26 2017-11-07 14:53:10 +01:00
struct-ucontext-libjava.patch gcj: fix build with glibc 2.26 2017-11-09 20:50:21 +00:00
struct-ucontext.patch gcc6: fix build with new glibc, by upstream patches 2017-11-05 19:09:53 +01:00
use-source-date-epoch.patch gcc: Respect $SOURCE_DATE_EPOCH 2016-01-05 17:21:48 +01:00