Commit a2546fae [ftrace: Add -mfentry to Makefile on function tracer] adds support for using -mfentry when possible, whenever the ftrace CONFIG_FUNCTION_TRACER option is enabled.
This unfortunately causes bogus dwarf debuginfo to be generated: gcc Bug 54793 - the location of a formal_parameter is not started from a function entry with -mfentry http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54793 This can be fixed by applying the gcc patch above, which will be present in gcc-4.8, but in the meantime, the problem is currently being worked around in different ways by various tools. One of those tools that we support in Yocto, Systemtap, requires the DW_AT_producer string contain -mfentry, which means that it's assuming record-gcc-switches is also used: SystemTap Bug 15123 - workaround for bad debuginfo for -mfentry http://sourceware.org/bugzilla/show_bug.cgi?id=15123 The lack of -grecord-gcc-switches and therefore a missing -mfentry string in Yocto leads to the following Yocto bug: Bug 4099 - Crosstap script check fails https://bugzilla.yoctoproject.org/show_bug.cgi?id=4099 Which is what this patch intends to fix. It only affects architectures that HAVE_FENTRY when CONFIG_FUNCTION_TRACER is turned on and in any case is just adding to the debuginfo, so there doesn't seem to be much risk to adding it. Signed-off-by: Tom Zanussi <tom.zanu...@linux.intel.com> --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 61e2c24..c2988a6 100644 --- a/Makefile +++ b/Makefile @@ -624,7 +624,7 @@ endif ifdef CONFIG_FUNCTION_TRACER ifdef CONFIG_HAVE_FENTRY -CC_USING_FENTRY := $(call cc-option, -mfentry -DCC_USING_FENTRY) +CC_USING_FENTRY := $(call cc-option, -mfentry -DCC_USING_FENTRY -grecord-gcc-switches) endif KBUILD_CFLAGS += -pg $(CC_USING_FENTRY) KBUILD_AFLAGS += $(CC_USING_FENTRY) -- 1.7.11.4 _______________________________________________ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto