summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2016-08-22Linux 3.16.37v3.16.37Ben Hutchings
2016-08-22kbuild: move -Wunused-const-variable to W=1 warning levelArnd Bergmann
commit c9c6837d39311b0cc14cdbe7c18e815ab44aefb1 upstream. gcc-6 started warning by default about variables that are not used anywhere and that are marked 'const', generating many false positives in an allmodconfig build, e.g.: arch/arm/mach-davinci/board-da830-evm.c:282:20: warning: 'da830_evm_emif25_pins' defined but not used [-Wunused-const-variable=] arch/arm/plat-omap/dmtimer.c:958:34: warning: 'omap_timer_match' defined but not used [-Wunused-const-variable=] drivers/bluetooth/hci_bcm.c:625:39: warning: 'acpi_bcm_default_gpios' defined but not used [-Wunused-const-variable=] drivers/char/hw_random/omap-rng.c:92:18: warning: 'reg_map_omap4' defined but not used [-Wunused-const-variable=] drivers/devfreq/exynos/exynos5_bus.c:381:32: warning: 'exynos5_busfreq_int_pm' defined but not used [-Wunused-const-variable=] drivers/dma/mv_xor.c:1139:34: warning: 'mv_xor_dt_ids' defined but not used [-Wunused-const-variable=] This is similar to the existing -Wunused-but-set-variable warning that was added in an earlier release and that we disable by default now and only enable when W=1 is set, so it makes sense to do the same here. Once we have eliminated the majority of the warnings for both, we can put them back into the default list. We probably want this in backport kernels as well, to allow building them with gcc-6 without introducing extra warnings. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Olof Johansson <olof@lixom.net> Acked-by: Lee Jones <lee.jones@linaro.org> Signed-off-by: Michal Marek <mmarek@suse.com> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
2016-08-22gcov: disable tree-loop-im to reduce stack usageArnd Bergmann
commit c87bf431448b404a6ef5fbabd74c0e3e42157a7f upstream. Enabling CONFIG_GCOV_PROFILE_ALL produces us a lot of warnings like lib/lz4/lz4hc_compress.c: In function 'lz4_compresshcctx': lib/lz4/lz4hc_compress.c:514:1: warning: the frame size of 1504 bytes is larger than 1024 bytes [-Wframe-larger-than=] After some investigation, I found that this behavior started with gcc-4.9, and opened https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69702. A suggested workaround for it is to use the -fno-tree-loop-im flag that turns off one of the optimization stages in gcc, so the code runs a little slower but does not use excessive amounts of stack. We could make this conditional on the gcc version, but I could not find an easy way to do this in Kbuild and the benefit would be fairly small, given that most of the gcc version in production are affected now. I'm marking this for 'stable' backports because it addresses a bug with code generation in gcc that exists in all kernel versions with the affected gcc releases. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> Signed-off-by: Michal Marek <mmarek@suse.com> [bwh: Backported to 3.16: adjust context] Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
2016-06-15Linux 3.16.36v3.16.36Ben Hutchings
2016-05-01Linux 3.16.35v3.16.35Ben Hutchings
2016-04-15Linux 3.16.7-ckt27Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2016-03-29Linux 3.16.7-ckt26Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2016-03-02Linux 3.16.7-ckt25Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2016-02-07Linux 3.16.7-ckt24Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2016-01-28Linux 3.16.7-ckt23Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2016-01-11Linux 3.16.7-ckt22Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-12-14Linux 3.16.7-ckt21Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-11-18Linux 3.16.7-ckt20Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-10-30Linux 3.16.7-ckt19Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-10-06Linux 3.16.7-ckt18Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-09-11Linux 3.16.7-ckt17Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-08-20Linux 3.16.7-ckt16Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-08-10kbuild: Allow arch Makefiles to override {cpp,ld,c}flagsMichal Marek
commit 61754c18752ffb78145671e94f053fb202fff041 upstream. Since commit a1c48bb1 (Makefile: Fix unrecognized cross-compiler command line options), the arch Makefile is included earlier by the main Makefile, preventing the arc architecture to set its -O3 compiler option. Since there might be more use cases for an arch Makefile to fine-tune the options, add support for ARCH_CPPFLAGS, ARCH_AFLAGS and ARCH_CFLAGS variables that are appended to the respective kbuild variables. The user still has the final say via the KCPPFLAGS, KAFLAGS and KCFLAGS variables. Reported-by: Vineet Gupta <Vineet.Gupta1@synopsys.com> Signed-off-by: Michal Marek <mmarek@suse.com> [ luis: backported to 3.16: adjusted context ] Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-07-20Linux 3.16.7-ckt15Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-06-30Linux 3.16.7-ckt14Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-06-11Linux 3.16.7-ckt13Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-05-28kernel: use the gnu89 standard explicitlyKirill A. Shutemov
commit 51b97e354ba9fce1890cf38ecc754aa49677fc89 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> Cc: Philip Müller <philm@manjaro.org> Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-05-28Linux 3.16.7-ckt12Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-05-12Linux 3.16.7-ckt11Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-04-27Linux 3.16.7-ckt10Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-03-30Linux 3.16.7-ckt9Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-03-11Linux 3.16.7-ckt8Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-02-24Linux 3.16.7-ckt7Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-02-10Linux 3.16.7-ckt6Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-02-02Linux 3.16.7-ckt5Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-01-15Linux 3.16.7-ckt4Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2014-12-19Linux 3.16.7-ckt3Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2014-12-01Linux 3.16.7-ckt2Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2014-11-14Linux 3.16.7-ckt1Luis Henriques
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2014-10-30Linux 3.16.7v3.16.7Greg Kroah-Hartman
2014-10-15Linux 3.16.6v3.16.6Greg Kroah-Hartman
2014-10-09Linux 3.16.5v3.16.5Greg Kroah-Hartman
2014-10-05Linux 3.16.4v3.16.4Greg Kroah-Hartman
2014-09-17Linux 3.16.3v3.16.3Greg Kroah-Hartman
2014-09-05Linux 3.16.2v3.16.2Greg Kroah-Hartman
2014-08-14Linux 3.16.1v3.16.1Greg Kroah-Hartman
2014-08-03Linux 3.16v3.16Linus Torvalds
2014-07-27Linux 3.16-rc7v3.16-rc7Linus Torvalds
2014-07-26Fix gcc-4.9.0 miscompilation of load_balance() in schedulerLinus Torvalds
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> Cc: stable@kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-07-20Linux 3.16-rc6v3.16-rc6Linus Torvalds
2014-07-13Linux 3.16-rc5v3.16-rc5Linus Torvalds
2014-07-10Merge branch 'rc-fixes' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 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=<subdir> - 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
2014-07-06Linux 3.16-rc4v3.16-rc4Linus Torvalds
2014-07-04kbuild: Fix packaging targets with relative $(srctree)Michal Marek
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 <mmarek@suse.cz>
2014-07-04kbuild: Do not print the build directory with make -sMichal Marek
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=<dir> 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 <mmarek@suse.cz>