summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2014-08-14Linux 3.4.103v3.4.103Greg Kroah-Hartman1-1/+1
2014-08-08Linux 3.4.102v3.4.102Greg Kroah-Hartman1-1/+1
2014-08-01Linux 3.4.101v3.4.101Greg Kroah-Hartman1-1/+1
2014-07-31Fix gcc-4.9.0 miscompilation of load_balance() in schedulerLinus Torvalds1-0/+2
commit 2062afb4f804afef61cbe62a30cac9a46e58e067 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-28Linux 3.4.100v3.4.100Greg Kroah-Hartman1-1/+1
2014-07-18Linux 3.4.99v3.4.99Greg Kroah-Hartman1-1/+1
2014-07-09Linux 3.4.98v3.4.98Greg Kroah-Hartman1-1/+1
2014-07-07Linux 3.4.97v3.4.97Greg Kroah-Hartman1-1/+1
2014-07-01Linux 3.4.96v3.4.96Greg Kroah-Hartman1-1/+1
2014-06-26Linux 3.4.95v3.4.95Greg Kroah-Hartman1-1/+1
2014-06-17Linux 3.4.94v3.4.94Greg Kroah-Hartman1-1/+1
2014-06-11Linux 3.4.93v3.4.93Greg Kroah-Hartman1-1/+1
2014-06-08Linux 3.4.92v3.4.92Greg Kroah-Hartman1-1/+1
2014-05-18Linux 3.4.91v3.4.91Greg Kroah-Hartman1-1/+1
2014-05-13Linux 3.4.90v3.4.90Greg Kroah-Hartman1-1/+1
2014-05-06Linux 3.4.89v3.4.89Greg Kroah-Hartman1-1/+1
2014-04-27Linux 3.4.88v3.4.88Greg Kroah-Hartman1-1/+1
2014-04-14Linux 3.4.87v3.4.87Greg Kroah-Hartman1-1/+1
2014-04-03Linux 3.4.86v3.4.86Greg Kroah-Hartman1-1/+1
2014-03-31Linux 3.4.85v3.4.85Greg Kroah-Hartman1-1/+1
2014-03-24Linux 3.4.84v3.4.84Greg Kroah-Hartman1-1/+1
2014-03-12Linux 3.4.83v3.4.83Greg Kroah-Hartman1-1/+1
2014-02-22Linux 3.4.82v3.4.82Greg Kroah-Hartman1-1/+1
2014-02-20Linux 3.4.81v3.4.81Greg Kroah-Hartman1-1/+1
2014-02-14Linux 3.4.80v3.4.80Greg Kroah-Hartman1-1/+1
2014-02-06Linux 3.4.79v3.4.79Greg Kroah-Hartman1-1/+1
2014-01-29Linux 3.4.78v3.4.78Greg Kroah-Hartman1-1/+1
2014-01-16Linux 3.4.77v3.4.77Greg Kroah-Hartman1-1/+1
2014-01-08Linux 3.4.76v3.4.76Greg Kroah-Hartman1-1/+1
2013-12-20Linux 3.4.75v3.4.75Greg Kroah-Hartman1-1/+1
2013-12-12Linux 3.4.74v3.4.74Greg Kroah-Hartman1-1/+1
2013-12-08Linux 3.4.73v3.4.73Greg Kroah-Hartman1-1/+1
2013-12-04Linux 3.4.72v3.4.72Greg Kroah-Hartman1-1/+1
2013-11-29Linux 3.4.71v3.4.71Greg Kroah-Hartman1-1/+1
2013-11-20Linux 3.4.70v3.4.70Greg Kroah-Hartman1-1/+1
2013-11-13Linux 3.4.69v3.4.69Greg Kroah-Hartman1-1/+1
2013-11-04Linux 3.4.68v3.4.68Greg Kroah-Hartman1-1/+1
2013-10-22Linux 3.4.67v3.4.67Greg Kroah-Hartman1-1/+1
2013-10-14Linux 3.4.66v3.4.66Greg Kroah-Hartman1-1/+1
2013-10-05Linux 3.4.65v3.4.65Greg Kroah-Hartman1-1/+1
2013-10-01Linux 3.4.64v3.4.64Greg Kroah-Hartman1-1/+1
2013-09-27Linux 3.4.63v3.4.63Greg Kroah-Hartman1-1/+1
2013-09-14Linux 3.4.62v3.4.62Greg Kroah-Hartman1-1/+1
2013-09-08Linux 3.4.61v3.4.61Greg Kroah-Hartman1-1/+1
2013-08-29Linux 3.4.60v3.4.60Greg Kroah-Hartman1-1/+1
2013-08-20Linux 3.4.59v3.4.59Greg Kroah-Hartman1-1/+1
2013-08-15Linux 3.4.58v3.4.58Greg Kroah-Hartman1-1/+1
2013-08-12Linux 3.4.57v3.4.57Greg Kroah-Hartman1-1/+1
2013-08-04Linux 3.4.56v3.4.56Greg Kroah-Hartman1-1/+1
2013-07-29Linux 3.4.55v3.4.55Greg Kroah-Hartman1-1/+1