Commit graph

989 commits

Author SHA1 Message Date
Ben Hutchings
34a0362f84 Linux 3.16.39 2016-11-20 01:17:41 +00:00
Ben Hutchings
fa1703ff58 Linux 3.16.38 2016-10-20 23:41:13 +01:00
Ben Hutchings
c8b431a18d Linux 3.16.37 2016-08-22 22:38:32 +01:00
Arnd Bergmann
282247a847 kbuild: move -Wunused-const-variable to W=1 warning level
commit c9c6837d39 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-22 22:37:57 +01:00
Arnd Bergmann
3c3e6b5e2b gcov: disable tree-loop-im to reduce stack usage
commit c87bf43144 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-08-22 22:37:56 +01:00
Ben Hutchings
c9cab79931 Linux 3.16.36 2016-06-15 21:29:36 +01:00
Ben Hutchings
e3c5b8847a Linux 3.16.35 2016-05-01 00:07:49 +02:00
Luis Henriques
c66d7e6c73 Linux 3.16.7-ckt27
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2016-04-15 10:25:39 +01:00
Luis Henriques
3a96c6601b Linux 3.16.7-ckt26
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2016-03-29 15:06:50 +01:00
Luis Henriques
7f2a8840d1 Linux 3.16.7-ckt25
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2016-03-02 10:31:21 +00:00
Luis Henriques
752289d006 Linux 3.16.7-ckt24
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2016-02-07 17:48:35 +00:00
Luis Henriques
3c702e47ca Linux 3.16.7-ckt23
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2016-01-28 09:57:51 +00:00
Luis Henriques
c5305f04d7 Linux 3.16.7-ckt22
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2016-01-11 10:47:48 +00:00
Luis Henriques
70a95b3e39 Linux 3.16.7-ckt21
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-12-14 10:14:38 +00:00
Luis Henriques
a11efd7b42 Linux 3.16.7-ckt20
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-11-18 10:08:46 +00:00
Luis Henriques
e25b6bafc0 Linux 3.16.7-ckt19
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-10-30 13:55:25 +00:00
Luis Henriques
e775020ec9 Linux 3.16.7-ckt18
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-10-06 11:51:02 +01:00
Luis Henriques
76aee4f56f Linux 3.16.7-ckt17
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-09-11 10:10:46 +01:00
Luis Henriques
72388a1322 Linux 3.16.7-ckt16
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-08-20 15:30:02 +01:00
Michal Marek
4a9e44d553 kbuild: Allow arch Makefiles to override {cpp,ld,c}flags
commit 61754c1875 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-08-10 09:54:09 +01:00
Luis Henriques
c0606b946e Linux 3.16.7-ckt15
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-07-20 13:05:19 +01:00
Luis Henriques
26749e751c Linux 3.16.7-ckt14
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-06-30 17:20:33 +01:00
Luis Henriques
162d643261 Linux 3.16.7-ckt13
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-06-11 11:23:21 +01:00
Kirill A. Shutemov
6e0fc212b9 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>
Cc: Philip Müller <philm@manjaro.org>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-05-28 11:14:27 +01:00
Luis Henriques
5de413904b Linux 3.16.7-ckt12
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-05-28 09:57:32 +01:00
Luis Henriques
56a11552bc Linux 3.16.7-ckt11
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-05-12 09:34:49 +01:00
Luis Henriques
aaab4ac7cf Linux 3.16.7-ckt10
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-04-27 09:46:50 +01:00
Luis Henriques
0596eeda88 Linux 3.16.7-ckt9
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-03-30 11:09:09 +01:00
Luis Henriques
4923505b93 Linux 3.16.7-ckt8
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-03-11 10:16:00 +00:00
Luis Henriques
3ad4b121bd Linux 3.16.7-ckt7
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-02-24 09:58:45 +00:00
Luis Henriques
4ba6745b95 Linux 3.16.7-ckt6
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-02-10 13:36:57 +00:00
Luis Henriques
f9bbc24909 Linux 3.16.7-ckt5
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-02-02 09:56:39 +00:00
Luis Henriques
780a61e9af Linux 3.16.7-ckt4
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2015-01-15 22:38:33 +00:00
Luis Henriques
45e102c6d7 Linux 3.16.7-ckt3
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2014-12-19 09:53:15 +00:00
Luis Henriques
8614d8600c Linux 3.16.7-ckt2
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2014-12-01 09:58:18 +00:00
Luis Henriques
dd0b9d23af Linux 3.16.7-ckt1
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
2014-11-14 12:06:29 +00:00
Greg Kroah-Hartman
d0335e4fee Linux 3.16.7 2014-10-30 09:41:01 -07:00
Greg Kroah-Hartman
acfaf47549 Linux 3.16.6 2014-10-15 12:05:43 +02:00
Greg Kroah-Hartman
13c24cc867 Linux 3.16.5 2014-10-09 12:24:04 -07:00
Greg Kroah-Hartman
36b54ba2a1 Linux 3.16.4 2014-10-05 13:41:53 -07:00
Greg Kroah-Hartman
c13c28207b Linux 3.16.3 2014-09-17 10:22:16 -07:00
Greg Kroah-Hartman
62de88e8e6 Linux 3.16.2 2014-09-05 16:37:11 -07:00
Greg Kroah-Hartman
9a35988df6 Linux 3.16.1 2014-08-14 10:36:35 +08:00
Linus Torvalds
19583ca584 Linux 3.16 2014-08-03 15:25:02 -07:00
Linus Torvalds
64aa90f26c Linux 3.16-rc7 2014-07-27 12:41:55 -07:00
Linus Torvalds
2062afb4f8 Fix gcc-4.9.0 miscompilation of load_balance() in scheduler
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-26 14:52:01 -07:00
Linus Torvalds
9a3c4145af Linux 3.16-rc6 2014-07-20 21:04:16 -07:00
Linus Torvalds
1795cd9b3a Linux 3.16-rc5 2014-07-13 14:04:33 -07:00
Linus Torvalds
fe5aa8a65b Merge branch 'rc-fixes' of 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-10 18:40:47 -07:00
Linus Torvalds
cd3de83f14 Linux 3.16-rc4 2014-07-06 12:37:51 -07:00