<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/Makefile, branch v3.16</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v3.16</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v3.16'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2014-08-03T22:25:02Z</updated>
<entry>
<title>Linux 3.16</title>
<updated>2014-08-03T22:25:02Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-08-03T22:25:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=19583ca584d6f574384e17fe7613dfaeadcdc4a6'/>
<id>urn:sha1:19583ca584d6f574384e17fe7613dfaeadcdc4a6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Linux 3.16-rc7</title>
<updated>2014-07-27T19:41:55Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-07-27T19:41:55Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=64aa90f26c06e1cb2aacfb98a7d0eccfbd6c1a91'/>
<id>urn:sha1:64aa90f26c06e1cb2aacfb98a7d0eccfbd6c1a91</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix gcc-4.9.0 miscompilation of load_balance()  in scheduler</title>
<updated>2014-07-26T21:52:01Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-07-26T21:52:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=2062afb4f804afef61cbe62a30cac9a46e58e067'/>
<id>urn:sha1:2062afb4f804afef61cbe62a30cac9a46e58e067</id>
<content type='text'>
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 &lt;michel@daenzer.net&gt;
Suggested-by: Markus Trippelsdorf &lt;markus@trippelsdorf.de&gt;
Cc: Jakub Jelinek &lt;jakub@redhat.com&gt;
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Linux 3.16-rc6</title>
<updated>2014-07-21T04:04:16Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-07-21T04:04:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9a3c4145af32125c5ee39c0272662b47307a8323'/>
<id>urn:sha1:9a3c4145af32125c5ee39c0272662b47307a8323</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Linux 3.16-rc5</title>
<updated>2014-07-13T21:04:33Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-07-13T21:04:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=1795cd9b3a91d4b5473c97f491d63892442212ab'/>
<id>urn:sha1:1795cd9b3a91d4b5473c97f491d63892442212ab</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild</title>
<updated>2014-07-11T01:40:47Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-07-11T01:40:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=fe5aa8a65bab2548aa7282d331edc690dd7da1af'/>
<id>urn:sha1:fe5aa8a65bab2548aa7282d331edc690dd7da1af</id>
<content type='text'>
Pull kbuild fixes from Michal Marek:
 "Three more fixes for the relative build dir feature:

   - Shut up make -s again
   - Fix for rpm/deb/tar-pkg with O=&lt;subdir&gt;
   - Fix for CONFIG_EXTRA_FIRMWARE"

* 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  firmware: Create directories for external firmware
  kbuild: Fix packaging targets with relative $(srctree)
  kbuild: Do not print the build directory with make -s
</content>
</entry>
<entry>
<title>Linux 3.16-rc4</title>
<updated>2014-07-06T19:37:51Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-07-06T19:37:51Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=cd3de83f147601356395b57a8673e9c5ff1e59d1'/>
<id>urn:sha1:cd3de83f147601356395b57a8673e9c5ff1e59d1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>kbuild: Fix packaging targets with relative $(srctree)</title>
<updated>2014-07-04T20:58:55Z</updated>
<author>
<name>Michal Marek</name>
<email>mmarek@suse.cz</email>
</author>
<published>2014-07-04T20:53:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c79624c1a698a82747b1e6fe54cc7effa4c07aa5'/>
<id>urn:sha1:c79624c1a698a82747b1e6fe54cc7effa4c07aa5</id>
<content type='text'>
All other users of Makefile.build set $(obj) to the name of the
subdirectory to build. Do the same for the packaging targets, otherwise
the build fails if $(srctree) is a relative directory:

    $ make O=build tar-pkg
    make[1]: Entering directory `/home/mmarek/linux-2.6/build'
      CHK     include/config/kernel.release
    ../scripts/Makefile.build:44: ../../scripts/package/Makefile: No such file or directory
    make[2]: *** No rule to make target `../../scripts/package/Makefile'.  Stop.

Fixes: 9da0763b ("kbuild: Use relative path when building in a subdir of the source tree")
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>kbuild: Do not print the build directory with make -s</title>
<updated>2014-07-04T12:33:33Z</updated>
<author>
<name>Michal Marek</name>
<email>mmarek@suse.cz</email>
</author>
<published>2014-07-04T12:29:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=066b7ed9558087a7957a1128f27d7a3462ff117f'/>
<id>urn:sha1:066b7ed9558087a7957a1128f27d7a3462ff117f</id>
<content type='text'>
Commit c2e28dc9 (kbuild: Print the name of the build directory) prints
the name of the build directory for O= builds, but we should not be
doing this in make -s mode, so that commands like

  make -s O=&lt;dir&gt; kernelrelease

can be used by scripts. This matches the behavior of make itself, where
the -s option implies --no-print-directory.

Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild</title>
<updated>2014-07-04T01:34:00Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-07-04T01:34:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=af6f157a4b4f511d06d564086cb3516bb164b7c6'/>
<id>urn:sha1:af6f157a4b4f511d06d564086cb3516bb164b7c6</id>
<content type='text'>
Pull kbuild fix from Michal Marek:
 "There is one more fix for the relative paths series from -rc1: Print
  the path to the build directory at the start of the build, so that
  editors and IDEs can match the relative paths to source files"

* 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  kbuild: Print the name of the build directory
</content>
</entry>
</feed>
