linux/scripts/mod
Paul Gortmaker 89df4c05e3 modpost: don't emit section mismatch warnings for compiler optimizations
commit 4a3893d069 upstream.

Currently an allyesconfig build [gcc-4.9.1] can generate the following:

   WARNING: vmlinux.o(.text.unlikely+0x3864): Section mismatch in
   reference from the function cpumask_empty.constprop.3() to the
   variable .init.data:nmi_ipi_mask

which comes from the cpumask_empty usage in arch/x86/kernel/nmi_selftest.c.

Normally we would not see a symbol entry for cpumask_empty since it is:

	static inline bool cpumask_empty(const struct cpumask *srcp)

however in this case, the variant of the symbol gets emitted when GCC does
constant propagation optimization.

Fix things up so that any locally optimized constprop variants don't warn
when accessing variables that live in the __init sections.

[arnd: adapted text_sections definition to 3.18]

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2017-11-11 13:33:42 +00:00
..
.gitignore kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
devicetable-offsets.c cpu: add generic support for CPU feature based module autoloading 2014-02-18 12:38:37 -08:00
empty.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
file2alias.c of: fix autoloading due to broken modalias with no 'compatible' 2016-08-22 22:38:10 +01:00
Makefile improve modalias building 2013-06-28 00:48:16 +02:00
mk_elfconfig.c kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
modpost.c modpost: don't emit section mismatch warnings for compiler optimizations 2017-11-11 13:33:42 +00:00
modpost.h Kbuild, lto: Drop .number postfixes in modpost 2014-02-13 20:24:58 -08:00
sumversion.c kbuild: trivial - use tabs for code indent where possible 2014-06-10 14:00:53 +02:00