From: Todd Vierling Date: Fri, 9 Feb 2018 20:34:50 +0000 (-0500) Subject: uek-rpm: configs: Don't set HAVE_FENTRY on OL6 builds. X-Git-Tag: v4.1.12-124.31.3~1137 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=7c52874b38b025f8df44fa3124f4b613b4ed345f;p=users%2Fjedix%2Flinux-maple.git uek-rpm: configs: Don't set HAVE_FENTRY on OL6 builds. CONFIG_HAVE_FENTRY turns on a *conditional* addition of compile time flags in the top level Makefile (-mfentry -DCC_USES_FENTRY). The OL6 stock gcc-4.4 code doesn't support this, but gcc 4.8+ does. This changes the way function trace preambles work on the newer compilers, which breaks kABI. To do this effectively, the option needs to be removed from arch/x86/Kconfig ("select HAVE_FENTRY if X86_64") so that it can be set optionally in the RPM build configs. The OL7 configs properly contain CONFIG_HAVE_FENTRY=y, so those will continue to build the same. Orabug: 27509351 Signed-off-by: Todd Vierling Reviewed-by: Martin K. Petersen --- diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index da202b41fc8c..0a456e2277e5 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -59,7 +59,6 @@ config X86 select HAVE_OPTPROBES select HAVE_KPROBES_ON_FTRACE select HAVE_FTRACE_MCOUNT_RECORD - select HAVE_FENTRY if X86_64 select HAVE_C_RECORDMCOUNT select HAVE_DYNAMIC_FTRACE select HAVE_DYNAMIC_FTRACE_WITH_REGS diff --git a/uek-rpm/ol6/config-x86_64 b/uek-rpm/ol6/config-x86_64 index 9fea003df41b..6030414dfdb8 100644 --- a/uek-rpm/ol6/config-x86_64 +++ b/uek-rpm/ol6/config-x86_64 @@ -5937,7 +5937,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_HAVE_FENTRY=y +# CONFIG_HAVE_FENTRY is not set CONFIG_HAVE_C_RECORDMCOUNT=y CONFIG_TRACER_MAX_TRACE=y CONFIG_TRACE_CLOCK=y diff --git a/uek-rpm/ol6/config-x86_64-debug b/uek-rpm/ol6/config-x86_64-debug index f2b2feeb19cb..7a5ff8723015 100644 --- a/uek-rpm/ol6/config-x86_64-debug +++ b/uek-rpm/ol6/config-x86_64-debug @@ -5953,7 +5953,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_HAVE_FENTRY=y +# CONFIG_HAVE_FENTRY is not set CONFIG_HAVE_C_RECORDMCOUNT=y CONFIG_TRACER_MAX_TRACE=y CONFIG_TRACE_CLOCK=y