powerpc: Enable support for GCC plugins
Enable support for GCC plugins on powerpc. Add an additional version check in gcc-plugins-check to advise users to upgrade to gcc 5.2+ on powerpc to avoid issues with header files (gcc <= 4.6) or missing copies of rs6000-cpus.def (4.8 to 5.1 on 64-bit targets). Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com> Acked-by: Kees Cook <keescook@chromium.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
eac6f8b0c7
commit
65c059bcaa
|
@ -93,6 +93,7 @@ config PPC
|
||||||
select HAVE_DYNAMIC_FTRACE_WITH_REGS if MPROFILE_KERNEL
|
select HAVE_DYNAMIC_FTRACE_WITH_REGS if MPROFILE_KERNEL
|
||||||
select HAVE_FUNCTION_TRACER
|
select HAVE_FUNCTION_TRACER
|
||||||
select HAVE_FUNCTION_GRAPH_TRACER
|
select HAVE_FUNCTION_GRAPH_TRACER
|
||||||
|
select HAVE_GCC_PLUGINS
|
||||||
select SYSCTL_EXCEPTION_TRACE
|
select SYSCTL_EXCEPTION_TRACE
|
||||||
select VIRT_TO_BUS if !PPC64
|
select VIRT_TO_BUS if !PPC64
|
||||||
select HAVE_IDE
|
select HAVE_IDE
|
||||||
|
|
|
@ -47,6 +47,14 @@ gcc-plugins-check: FORCE
|
||||||
ifdef CONFIG_GCC_PLUGINS
|
ifdef CONFIG_GCC_PLUGINS
|
||||||
ifeq ($(PLUGINCC),)
|
ifeq ($(PLUGINCC),)
|
||||||
ifneq ($(GCC_PLUGINS_CFLAGS),)
|
ifneq ($(GCC_PLUGINS_CFLAGS),)
|
||||||
|
# Various gccs between 4.5 and 5.1 have bugs on powerpc due to missing
|
||||||
|
# header files. gcc <= 4.6 doesn't work at all, gccs from 4.8 to 5.1 have
|
||||||
|
# issues with 64-bit targets.
|
||||||
|
ifeq ($(ARCH),powerpc)
|
||||||
|
ifeq ($(call cc-ifversion, -le, 0501, y), y)
|
||||||
|
@echo "Cannot use CONFIG_GCC_PLUGINS: plugin support on gcc <= 5.1 is buggy on powerpc, please upgrade to gcc 5.2 or newer" >&2 && exit 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
ifeq ($(call cc-ifversion, -ge, 0405, y), y)
|
ifeq ($(call cc-ifversion, -ge, 0405, y), y)
|
||||||
$(Q)$(srctree)/scripts/gcc-plugin.sh --show-error "$(__PLUGINCC)" "$(HOSTCXX)" "$(CC)" || true
|
$(Q)$(srctree)/scripts/gcc-plugin.sh --show-error "$(__PLUGINCC)" "$(HOSTCXX)" "$(CC)" || true
|
||||||
@echo "Cannot use CONFIG_GCC_PLUGINS: your gcc installation does not support plugins, perhaps the necessary headers are missing?" >&2 && exit 1
|
@echo "Cannot use CONFIG_GCC_PLUGINS: your gcc installation does not support plugins, perhaps the necessary headers are missing?" >&2 && exit 1
|
||||||
|
|
Loading…
Reference in New Issue