Commit Graph

947 Commits

Author SHA1 Message Date
Nobody 0ce81bc93c Linux 3.14 with MCST patches 2020-10-14 02:51:01 +03:00
Greg Kroah-Hartman 762167f98c Linux 3.14.46 2015-06-29 12:25:50 -07:00
Greg Kroah-Hartman 165797d05c Linux 3.14.45 2015-06-22 17:01:36 -07:00
Greg Kroah-Hartman e99d350e5b Linux 3.14.44 2015-06-06 08:19:54 -07:00
Kirill A. Shutemov d6d25d1664 kernel: use the gnu89 standard explicitly
commit 51b97e354b upstream.

Sasha Levin reports:
 "gcc5 changes the default standard to c11, which makes kernel build
  unhappy

  Explicitly define the kernel standard to be gnu89 which should keep
  everything working exactly like it was before gcc5"

There are multiple small issues with the new default, but the biggest
issue seems to be that the old - and very useful - GNU extension to
allow a cast in front of an initializer has gone away.

Patch updated by Kirill:
 "I'm pretty sure all gcc versions you can build kernel with supports
  -std=gnu89.  cc-option is redunrant.

  We also need to adjust HOSTCFLAGS otherwise allmodconfig fails for me"

Note by Andrew Pinski:
 "Yes it was reported and both problems relating to this extension has
  been added to gnu99 and gnu11.  Though there are other issues with the
  kernel dealing with extern inline have different semantics between
  gnu89 and gnu99/11"

End result: we may be able to move up to a newer stdc model eventually,
but right now the newer models have some annoying deficiencies, so the
traditional "gnu89" model ends up being the preferred one.

Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Singed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-06-06 08:19:31 -07:00
Greg Kroah-Hartman 1325370701 Linux 3.14.43 2015-05-17 09:54:01 -07:00
Greg Kroah-Hartman c629522ee8 Linux 3.14.42 2015-05-13 05:17:28 -07:00
Greg Kroah-Hartman 99e64c4a80 Linux 3.14.41 2015-05-06 21:59:36 +02:00
Greg Kroah-Hartman 7b10379295 Linux 3.14.40 2015-04-29 10:32:58 +02:00
Greg Kroah-Hartman 5c43c53934 Linux 3.14.39 2015-04-19 10:11:58 +02:00
Greg Kroah-Hartman 80f018df0d Linux 3.14.38 2015-04-13 14:03:16 +02:00
Greg Kroah-Hartman bdcec2cf3a Linux 3.14.37 2015-03-26 15:07:23 +01:00
Greg Kroah-Hartman 8a5f782c33 Linux 3.14.36 2015-03-18 13:31:43 +01:00
Greg Kroah-Hartman e8f616ae4f Linux 3.14.35 2015-03-06 14:44:34 -08:00
Greg Kroah-Hartman 413cb08ceb Linux 3.14.34 2015-02-26 17:50:27 -08:00
Greg Kroah-Hartman a74f1d1204 Linux 3.14.33 2015-02-11 14:55:02 +08:00
Greg Kroah-Hartman 4ccf212fb8 Linux 3.14.32 2015-02-06 06:53:31 -08:00
Greg Kroah-Hartman 016ea480c9 Linux 3.14.31 2015-01-29 17:41:44 -08:00
Greg Kroah-Hartman 4d7313cd7c Linux 3.14.30 2015-01-27 08:19:48 -08:00
Greg Kroah-Hartman a2ab918760 Linux 3.14.29 2015-01-16 07:00:22 -08:00
Greg Kroah-Hartman c3b70f0bbb Linux 3.14.28 2015-01-08 10:01:03 -08:00
Greg Kroah-Hartman 83a926f7a4 Linux 3.14.27 2014-12-16 09:34:39 -08:00
Greg Kroah-Hartman 356a3e1fde Linux 3.14.26 2014-12-06 15:56:06 -08:00
Greg Kroah-Hartman 2dc2565902 Linux 3.14.25 2014-11-21 09:23:44 -08:00
Greg Kroah-Hartman 9c3da88145 Linux 3.14.24 2014-11-14 09:10:29 -08:00
Greg Kroah-Hartman cd2c5381cb Linux 3.14.23 2014-10-30 09:38:45 -07:00
Greg Kroah-Hartman d7892a4c38 Linux 3.14.22 2014-10-15 08:42:04 +02:00
Greg Kroah-Hartman 89161fe91f Linux 3.14.21 2014-10-09 12:21:39 -07:00
Greg Kroah-Hartman 2023c00d65 Linux 3.14.20 2014-10-05 14:52:37 -07:00
Greg Kroah-Hartman af92ba8fd2 Linux 3.14.19 2014-09-17 09:21:23 -07:00
Greg Kroah-Hartman 8e952ae717 Linux 3.14.18 2014-09-05 16:34:59 -07:00
Greg Kroah-Hartman 946de0e6b6 Linux 3.14.17 2014-08-14 09:38:34 +08:00
Greg Kroah-Hartman e21af7dfe5 Linux 3.14.16 2014-08-07 16:50:59 -07:00
Greg Kroah-Hartman 735fbc72be Linux 3.14.15 2014-07-31 14:51:43 -07:00
Linus Torvalds b7fd0d5939 Fix gcc-4.9.0 miscompilation of load_balance() in scheduler
commit 2062afb4f8 upstream.

Michel Dänzer and a couple of other people reported inexplicable random
oopses in the scheduler, and the cause turns out to be gcc mis-compiling
the load_balance() function when debugging is enabled.  The gcc bug
apparently goes back to gcc-4.5, but slight optimization changes means
that it now showed up as a problem in 4.9.0 and 4.9.1.

The instruction scheduling problem causes gcc to schedule a spill
operation to before the stack frame has been created, which in turn can
corrupt the spilled value if an interrupt comes in.  There may be other
effects of this bug too, but that's the code generation problem seen in
Michel's case.

This is fixed in current gcc HEAD, but the workaround as suggested by
Markus Trippelsdorf is pretty simple: use -fno-var-tracking-assignments
when compiling the kernel, which disables the gcc code that causes the
problem.  This can result in slightly worse debug information for
variable accesses, but that is infinitely preferable to actual code
generation problems.

Doing this unconditionally (not just for CONFIG_DEBUG_INFO) also allows
non-debug builds to verify that the debug build would be identical: we
can do

    export GCC_COMPARE_DEBUG=1

to make gcc internally verify that the result of the build is
independent of the "-g" flag (it will make the compiler build everything
twice, toggling the debug flag, and compare the results).

Without the "-fno-var-tracking-assignments" option, the build would fail
(even with 4.8.3 that didn't show the actual stack frame bug) with a gcc
compare failure.

See also gcc bugzilla:

  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61801

Reported-by: Michel Dänzer <michel@daenzer.net>
Suggested-by: Markus Trippelsdorf <markus@trippelsdorf.de>
Cc: Jakub Jelinek <jakub@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-31 12:52:57 -07:00
Greg Kroah-Hartman 6a0a453177 Linux 3.14.14 2014-07-28 08:07:25 -07:00
Greg Kroah-Hartman bc1f55ec19 Linux 3.14.13 2014-07-17 16:21:11 -07:00
Greg Kroah-Hartman c0cbbdebe9 Linux 3.14.12 2014-07-09 11:18:37 -07:00
Greg Kroah-Hartman ff694e286c Linux 3.14.11 2014-07-06 18:57:39 -07:00
Greg Kroah-Hartman bbae7add62 Linux 3.14.10 2014-06-30 20:12:08 -07:00
Greg Kroah-Hartman 47026b1fcb Linux 3.14.9 2014-06-26 15:15:55 -04:00
Greg Kroah-Hartman 0c5b3b80f7 Linux 3.14.8 2014-06-16 13:41:19 -07:00
Greg Kroah-Hartman fce5b5fc49 Linux 3.14.7 2014-06-11 12:02:49 -07:00
Greg Kroah-Hartman a1bc295d7a Linux 3.14.6 2014-06-07 13:24:43 -07:00
Greg Kroah-Hartman 0314057247 Linux 3.14.5 2014-05-31 12:34:37 -07:00
Greg Kroah-Hartman 7261684765 Linux 3.14.4 2014-05-13 13:33:14 +02:00
Greg Kroah-Hartman 774e1e67ef Linux 3.14.3 2014-05-06 07:59:58 -07:00
Greg Kroah-Hartman 798d3c532b Linux 3.14.2 2014-04-26 17:19:26 -07:00
Greg Kroah-Hartman 387df1bd3f Linux 3.14.1 2014-04-14 06:50:10 -07:00
Linus Torvalds 455c6fdbd2 Linux 3.14 2014-03-30 20:40:15 -07:00