linux/arch/x86
Josh Poimboeuf c0dd671686 objtool: Mark non-standard object files and directories
Code which runs outside the kernel's normal mode of operation often does
unusual things which can cause a static analysis tool like objtool to
emit false positive warnings:

 - boot image
 - vdso image
 - relocation
 - realmode
 - efi
 - head
 - purgatory
 - modpost

Set OBJECT_FILES_NON_STANDARD for their related files and directories,
which will tell objtool to skip checking them.  It's ok to skip them
because they don't affect runtime stack traces.

Also skip the following code which does the right thing with respect to
frame pointers, but is too "special" to be validated by a tool:

 - entry
 - mcount

Also skip the test_nx module because it modifies its exception handling
table at runtime, which objtool can't understand.  Fortunately it's
just a test module so it doesn't matter much.

Currently objtool is the only user of OBJECT_FILES_NON_STANDARD, but it
might eventually be useful for other tools.

Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Bernd Petrovitsch <bernd@petrovitsch.priv.at>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Chris J Arges <chris.j.arges@canonical.com>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Pedro Alves <palves@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: live-patching@vger.kernel.org
Link: http://lkml.kernel.org/r/366c080e3844e8a5b6a0327dc7e8c2b90ca3baeb.1456719558.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-02-29 08:35:02 +01:00
..
boot objtool: Mark non-standard object files and directories 2016-02-29 08:35:02 +01:00
configs Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2015-09-04 15:49:32 -07:00
crypto x86/asm/crypto: Create stack frames in crypto functions 2016-02-24 08:35:43 +01:00
entry objtool: Mark non-standard object files and directories 2016-02-29 08:35:02 +01:00
ia32 Merge branch 'x86-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-11-03 21:05:40 -08:00
include Merge branch 'ras/core' into core/objtool, to pick up the new exception table format 2016-02-25 09:01:09 +01:00
kernel objtool: Mark non-standard object files and directories 2016-02-29 08:35:02 +01:00
kvm x86/kvm: Add output operand in vmx_handle_external_intr inline asm 2016-02-24 08:35:44 +01:00
lguest Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-01-11 16:26:03 -08:00
lib x86/asm: Create stack frames in rwsem functions 2016-02-24 08:35:43 +01:00
math-emu Merge branch 'x86-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-11-03 21:05:40 -08:00
mm Merge branch 'ras/core' into core/objtool, to pick up the new exception table format 2016-02-25 09:01:09 +01:00
net x86/asm/bpf: Create stack frames in bpf_jit.S 2016-02-24 08:35:44 +01:00
oprofile x86/cpufeature: Carve out X86_FEATURE_* 2016-01-30 11:22:17 +01:00
pci Xen bug fixes for 4.5-rc5 2016-02-22 13:57:01 -08:00
platform objtool: Mark non-standard object files and directories 2016-02-29 08:35:02 +01:00
power x86/asm/power: Create stack frames in hibernate_asm_64.S 2016-02-24 08:35:43 +01:00
purgatory objtool: Mark non-standard object files and directories 2016-02-29 08:35:02 +01:00
ras x86/ras/mce_amd_inj: Inject bank 4 errors on the NBC 2015-10-12 16:15:48 +02:00
realmode objtool: Mark non-standard object files and directories 2016-02-29 08:35:02 +01:00
tools
um x86/cpufeature: Carve out X86_FEATURE_* 2016-01-30 11:22:17 +01:00
video
xen x86/asm/xen: Create stack frames in xen-asm.S 2016-02-24 08:35:42 +01:00
.gitignore
Kbuild x86/asm/entry, x86/vdso: Move the vDSO code to arch/x86/entry/vdso/ 2015-06-03 18:51:37 +02:00
Kconfig hpet: Drop stale URLs 2016-02-17 09:39:56 +01:00
Kconfig.cpu x86/Kconfig/cpus: Fix/complete CPU type help texts 2015-10-21 11:12:56 +02:00
Kconfig.debug x86/cpufeature: Replace the old static_cpu_has() with safe variant 2016-01-30 11:22:18 +01:00
Makefile Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2015-11-04 09:11:12 -08:00
Makefile_32.cpu
Makefile.um