linux/scripts
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
..
basic kbuild: trivial - use tabs for code indent where possible 2014-06-10 14:00:53 +02:00
coccinelle scripts/coccinelle: modernize & 2016-05-01 00:05:48 +02:00
dtc kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
genksyms genksyms: fix typeof() handling 2014-04-03 16:20:52 -07:00
kconfig kconfig/nconf: Fix hang when editing symbol with a long prompt 2017-03-16 02:26:33 +00:00
ksymoops Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mod modpost: don't emit section mismatch warnings for compiler optimizations 2017-11-11 13:33:42 +00:00
package kbuild/mkspec: fix grub2 installkernel issue 2016-05-01 00:05:51 +02:00
rt-tester kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
selinux kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
tracing tracing, perf: Convert the power tracer into an event tracer 2009-09-19 11:42:12 +02:00
.gitignore X.509: Add simple ASN.1 grammar compiler 2012-10-08 13:50:19 +10:30
analyze_suspend.py PM / tools: new tool for suspend/resume performance optimization 2014-01-17 01:47:26 +01:00
asn1_compiler.c X.509: remove possible code fragility: enumeration values not handled 2013-09-25 17:17:01 +01:00
bin2c.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bloat-o-meter scripts/bloat-o-meter: fix python3 syntax error 2016-02-02 19:09:44 +00:00
bootgraph.pl scripts/bootgraph.pl: Add graphic header 2014-04-08 17:15:15 +02:00
checkincludes.pl checkincludes: fix perlcritic warnings 2010-03-07 21:19:57 +01:00
checkkconfigsymbols.sh scripts/checkkconfigsymbols.sh: replace echo -e with printf 2013-08-28 17:00:47 +02:00
checkpatch.pl checkpatch: reduce false positives when checking void function return statements 2014-06-23 16:47:44 -07:00
checkstack.pl kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
checksyscalls.sh scripts/checksyscalls.sh: Make renameat optional 2014-05-20 10:59:38 +02:00
checkversion.pl kbuild: don't warn about include/linux/version.h not including itself 2011-04-29 15:38:55 +02:00
cleanfile scripts: Make cleanfile/cleanpatch warn about long lines 2007-07-16 21:15:50 +02:00
cleanpatch scripts: Make cleanfile/cleanpatch warn about long lines 2007-07-16 21:15:50 +02:00
coccicheck Coccinelle: Update information about the minimal version required 2013-07-03 22:58:20 +02:00
config kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
conmakehash.c kbuild: trivial - remove trailing spaces 2014-04-30 17:34:32 +02:00
decode_stacktrace.sh decode_stacktrace: make stack dump output useful again 2014-06-10 15:29:43 -07:00
decodecode scripts/decodecode: make faulting insn ptr more robust 2013-04-29 15:54:27 -07:00
depmod.sh depmod: pass -P $CONFIG_SYMBOL_PREFIX 2013-02-22 11:52:31 +01:00
diffconfig diffconfig: Update script to support python versions 2.5 through 3.3 2013-09-01 21:24:51 +02:00
docproc.c kbuild: trivial - use tabs for code indent where possible 2014-06-10 14:00:53 +02:00
export_report.pl export_report: use warn() to issue WARNING, so they go to stderr 2011-05-24 16:07:07 +02:00
extract-ikconfig scripts/extract-ikconfig: add xz compression support 2011-02-10 15:23:03 +01:00
extract-vmlinux scripts: add extract-vmlinux 2011-08-31 16:12:17 +02:00
gcc-goto.sh arm64, jump label: detect %c support for ARM64 2014-01-08 15:21:29 +00:00
gcc-ld Kbuild, lto: Add a gcc-ld script to let run gcc as ld 2014-02-13 20:25:02 -08:00
gcc-version.sh kbuild: Fix gcc -x syntax 2012-10-03 09:03:24 +02:00
gcc-x86_32-has-stack-protector.sh kbuild: Fix gcc -x syntax 2012-10-03 09:03:24 +02:00
gcc-x86_64-has-stack-protector.sh scripts/has-stack-protector: add -fno-PIE 2017-02-23 03:54:31 +00:00
gen_initramfs_list.sh scripts/gen_initramfs_list.sh: fix flags for initramfs LZ4 compression 2014-03-04 07:55:48 -08:00
get_maintainer.pl get_maintainer: fix detection of git repository 2014-02-10 16:01:40 -08:00
gfp-translate chmod +x scripts/gfp-translate 2012-06-27 12:44:29 -07:00
headerdep.pl headerdep: perlcritic warning 2010-03-23 12:26:38 +01:00
headers.sh kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
headers_check.pl headers_check: special case seqbuf_dump() 2014-01-23 16:36:55 -08:00
headers_install.sh kbuild: fix make headers_install when path is too long 2013-05-17 22:10:35 +02:00
kallsyms.c kbuild: trivial - use tabs for code indent where possible 2014-06-10 14:00:53 +02:00
Kbuild.include Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2014-04-07 17:52:31 -07:00
kernel-doc scripts/kernel-doc: don't eat struct members with __aligned 2015-01-16 14:34:45 +00:00
ld-version.sh Kbuild, lto: add ld-version and ld-ifversion macros 2014-02-13 20:25:00 -08:00
Lindent scripts/Lindent: support gnu indent v2.2.10 2008-04-29 08:06:04 -07:00
link-vmlinux.sh kallsyms: fix percpu vars on x86-64 with relocation. 2014-03-17 14:55:27 +10:30
Makefile kbuild: do not add "selinux" to subdir- twice 2014-06-09 23:24:59 +02:00
Makefile.asm-generic kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
Makefile.build kbuild: trivial - remove trailing spaces 2014-04-30 17:34:32 +02:00
Makefile.clean kbuild: Fix removal of the debian/ directory 2015-02-04 10:57:55 +00:00
Makefile.extrawarn kbuild: move -Wunused-const-variable to W=1 warning level 2016-08-22 22:37:57 +01:00
Makefile.fwinst firmware: Simplify directory creation 2014-05-14 22:43:04 +02:00
Makefile.headersinst kbuild: fix make headers_install when path is too long 2013-05-17 22:10:35 +02:00
Makefile.help Add a target to use the Coccinelle checker 2010-06-12 00:00:29 +02:00
Makefile.host Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2014-06-12 21:29:20 -07:00
Makefile.lib kbuild: trivial - remove trailing spaces 2014-04-30 17:34:32 +02:00
Makefile.modbuiltin kbuild: Create output directory in Makefile.modbuiltin 2010-06-10 12:23:08 +02:00
Makefile.modinst modules: don't break modules_install on external modules with no key. 2012-11-06 11:52:24 +10:30
Makefile.modpost modpost: Optionally ignore secondary errors seen if a single module build fails 2013-09-23 15:45:03 +09:30
Makefile.modsign MODSIGN: Add modules_sign make target 2012-12-14 13:05:28 +10:30
makelst kbuild: introduce ccflags-y, asflags-y and ldflags-y 2007-10-15 22:25:06 +02:00
markup_oops.pl kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
mkcompile_h kbuild: trivial - remove trailing spaces 2014-04-30 17:34:32 +02:00
mkmakefile kbuild: support simultaneous "make %config" and "make all" 2014-04-30 16:45:16 +02:00
mksysmap kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
mkuboot.sh mkuboot.sh: Fail if mkimage is missing 2011-01-07 14:31:01 +01:00
mkversion Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
module-common.lds module: Sort exported symbols 2011-05-19 16:55:27 +09:30
namespace.pl Revert "namespace: add source file location exceptions" 2010-10-28 00:59:56 +02:00
objdiff scripts: objdiff: support directories for the augument of record command 2014-06-10 14:59:33 +02:00
patch-kernel kbuild: trivial - remove trailing spaces 2014-04-30 17:34:32 +02:00
pnmtologo.c kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
profile2linkerlist.pl profile2linkerlist: fix perl warnings 2010-03-07 21:39:33 +01:00
recordmcount.c ftrace/recordmcount: Work around for addition of metag magic but not relocations 2016-11-20 01:17:03 +00:00
recordmcount.h recordmcount: Fix endianness handling bug for nop_mcount 2015-12-13 17:49:06 +00:00
recordmcount.pl scripts/recordmcount.pl: support data in text section on powerpc 2016-02-02 19:09:34 +00:00
setlocalversion Fix detectition of kernel git repository in setlocalversion script [take #2] 2014-01-03 14:48:42 +01:00
show_delta kbuild: trivial - remove trailing empty lines 2014-06-10 00:04:06 +02:00
sign-file MODSIGN: Add -s <signature> option to sign-file 2013-01-25 16:55:36 +10:30
sortextable.c xtensa: enable sorting extable at build time 2014-04-02 01:35:50 +04:00
sortextable.h scripts/sortextable: suppress warning: `relocs_size' may be used uninitialized 2015-06-12 12:50:47 +01:00
tags.sh sched: add macros to define bitops for task atomic flags 2017-10-12 15:28:22 +01:00
unifdef.c unifdef: update to upstream version 2.5 2011-01-22 15:50:59 +01:00
ver_linux Remove bashisms from scripts 2009-06-09 22:37:54 +02:00
xz_wrap.sh xz: Enable BCJ filters on SPARC and 32-bit x86 2012-04-18 13:13:18 -07:00