10 Aug, 2020
2 commits
-
ccflags-remove-$(CONFIG_FUNCTION_TRACER) += $(CC_FLAGS_FTRACE)
exists here in sub-directories of lib/ to keep the behavior of
commit 2464a609ded0 ("ftrace: do not trace library functions").Since that commit, not only the objects in lib/ but also the ones in
the sub-directories are excluded from ftrace (although the commit
description did not explicitly mention this).However, most of library functions in sub-directories are not so hot.
Re-add them to ftrace.Going forward, only the objects right under lib/ will be excluded.
Cc: Ingo Molnar
Signed-off-by: Masahiro Yamada
Acked-by: Steven Rostedt (VMware) -
CFLAGS_REMOVE_.o filters out flags when compiling a particular
object, but there is no convenient way to do that for every object in
a directory.Add ccflags-remove-y and asflags-remove-y to make it easily.
Use ccflags-remove-y to clean up some Makefiles.
The add/remove order works as follows:
[1] KBUILD_CFLAGS specifies compiler flags used globally
[2] ccflags-y adds compiler flags for all objects in the
current Makefile[3] ccflags-remove-y removes compiler flags for all objects in the
current Makefile (New feature)[4] CFLAGS_ adds compiler flags per file.
[5] CFLAGS_REMOVE_ removes compiler flags per file.
Having [3] before [4] allows us to remove flags from most (but not all)
objects in the current Makefile.For example, kernel/trace/Makefile removes $(CC_FLAGS_FTRACE)
from all objects in the directory, then adds it back to
trace_selftest_dynamic.o and CFLAGS_trace_kprobe_selftest.oThe same applies to lib/livepatch/Makefile.
Please note ccflags-remove-y has no effect to the sub-directories.
In contrast, the previous notation got rid of compiler flags also from
all the sub-directories.The following are not affected because they have no sub-directories:
arch/arm/boot/compressed/
arch/powerpc/xmon/
arch/sh/
kernel/trace/However, lib/ has several sub-directories.
To keep the behavior, I added ccflags-remove-y to all Makefiles
in subdirectories of lib/, except the following:lib/vdso/Makefile - Kbuild does not descend into this Makefile
lib/raid/test/Makefile - This is not used for the kernel buildI think commit 2464a609ded0 ("ftrace: do not trace library functions")
excluded too much. In the next commit, I will remove ccflags-remove-y
from the sub-directories of lib/.Suggested-by: Sami Tolvanen
Signed-off-by: Masahiro Yamada
Acked-by: Steven Rostedt (VMware)
Acked-by: Michael Ellerman (powerpc)
Acked-by: Brendan Higgins (KUnit)
Tested-by: Anders Roxell
01 Nov, 2019
1 commit
-
Four selftests for the new API.
Link: http://lkml.kernel.org/r/20191030154313.13263-6-pmladek@suse.com
To: Jiri Kosina
Cc: Kamalesh Babulal
Cc: Nicolai Stange
Cc: live-patching@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Acked-by: Miroslav Benes
Acked-by: Joe Lawrence
Acked-by: Josh Poimboeuf
Signed-off-by: Petr Mladek
12 Jan, 2019
1 commit
-
Add a few livepatch modules and simple target modules that the included
regression suite can run tests against:- basic livepatching (multiple patches, atomic replace)
- pre/post (un)patch callbacks
- shadow variable APISigned-off-by: Joe Lawrence
Signed-off-by: Petr Mladek
Tested-by: Miroslav Benes
Tested-by: Alice Ferrazzi
Acked-by: Joe Lawrence
Acked-by: Josh Poimboeuf
Signed-off-by: Jiri Kosina