linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH] powerpc: Enable kcov
@ 2019-01-15  4:20 Andrew Donnellan
  2019-01-15  6:40 ` Dmitry Vyukov
  2019-01-15  7:26 ` gcc 6.3 vs 8.2 " Mathieu Malaterre
  0 siblings, 2 replies; 8+ messages in thread
From: Andrew Donnellan @ 2019-01-15  4:20 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: dja, syzkaller, dvyukov

kcov provides kernel coverage data that's useful for fuzzing tools like
syzkaller.

Wire up kcov support on powerpc. Disable kcov instrumentation on the same
files where we currently disable gcov and UBSan instrumentation.

Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>

---

kcov looks like it's working okay, both kcovtrace and syzkaller seem to be 
working. I did see some issues with compiling and booting kernels with gcc 
6.3 and earlier versions which disappeared when I upgraded to gcc 8.2, I 
need to investigate that more.

---
 arch/powerpc/Kconfig                | 1 +
 arch/powerpc/kernel/Makefile        | 7 ++++++-
 arch/powerpc/kernel/trace/Makefile  | 3 ++-
 arch/powerpc/kernel/vdso32/Makefile | 1 +
 arch/powerpc/kernel/vdso64/Makefile | 1 +
 arch/powerpc/xmon/Makefile          | 1 +
 6 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 2890d36eb531..d3698dae0e60 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -134,6 +134,7 @@ config PPC
 	select ARCH_HAS_ELF_RANDOMIZE
 	select ARCH_HAS_FORTIFY_SOURCE
 	select ARCH_HAS_GCOV_PROFILE_ALL
+	select ARCH_HAS_KCOV
 	select ARCH_HAS_PHYS_TO_DMA
 	select ARCH_HAS_PMEM_API                if PPC64
 	select ARCH_HAS_PTE_SPECIAL
diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
index cb7f0bb9ee71..961f44eabb65 100644
--- a/arch/powerpc/kernel/Makefile
+++ b/arch/powerpc/kernel/Makefile
@@ -142,16 +142,21 @@ endif
 obj-$(CONFIG_EPAPR_PARAVIRT)	+= epapr_paravirt.o epapr_hcalls.o
 obj-$(CONFIG_KVM_GUEST)		+= kvm.o kvm_emul.o
 
-# Disable GCOV & sanitizers in odd or sensitive code
+# Disable GCOV, KCOV & sanitizers in odd or sensitive code
 GCOV_PROFILE_prom_init.o := n
+KCOV_INSTRUMENT_prom_init.o := n
 UBSAN_SANITIZE_prom_init.o := n
 GCOV_PROFILE_machine_kexec_64.o := n
+KCOV_INSTRUMENT_machine_kexec_64.o := n
 UBSAN_SANITIZE_machine_kexec_64.o := n
 GCOV_PROFILE_machine_kexec_32.o := n
+KCOV_INSTRUMENT_machine_kexec_32.o := n
 UBSAN_SANITIZE_machine_kexec_32.o := n
 GCOV_PROFILE_kprobes.o := n
+KCOV_INSTRUMENT_kprobes.o := n
 UBSAN_SANITIZE_kprobes.o := n
 GCOV_PROFILE_kprobes-ftrace.o := n
+KCOV_INSTRUMENT_kprobes-ftrace.o := n
 UBSAN_SANITIZE_kprobes-ftrace.o := n
 UBSAN_SANITIZE_vdso.o := n
 
diff --git a/arch/powerpc/kernel/trace/Makefile b/arch/powerpc/kernel/trace/Makefile
index b1725ad3e13d..858503775c58 100644
--- a/arch/powerpc/kernel/trace/Makefile
+++ b/arch/powerpc/kernel/trace/Makefile
@@ -23,6 +23,7 @@ obj-$(CONFIG_TRACING)			+= trace_clock.o
 obj-$(CONFIG_PPC64)			+= $(obj64-y)
 obj-$(CONFIG_PPC32)			+= $(obj32-y)
 
-# Disable GCOV & sanitizers in odd or sensitive code
+# Disable GCOV, KCOV & sanitizers in odd or sensitive code
 GCOV_PROFILE_ftrace.o := n
+KCOV_INSTRUMENT_ftrace.o := n
 UBSAN_SANITIZE_ftrace.o := n
diff --git a/arch/powerpc/kernel/vdso32/Makefile b/arch/powerpc/kernel/vdso32/Makefile
index 50112d4473bb..ce199f6e4256 100644
--- a/arch/powerpc/kernel/vdso32/Makefile
+++ b/arch/powerpc/kernel/vdso32/Makefile
@@ -23,6 +23,7 @@ targets := $(obj-vdso32) vdso32.so vdso32.so.dbg
 obj-vdso32 := $(addprefix $(obj)/, $(obj-vdso32))
 
 GCOV_PROFILE := n
+KCOV_INSTRUMENT := n
 UBSAN_SANITIZE := n
 
 ccflags-y := -shared -fno-common -fno-builtin
diff --git a/arch/powerpc/kernel/vdso64/Makefile b/arch/powerpc/kernel/vdso64/Makefile
index 69cecb346269..28e7d112aa2f 100644
--- a/arch/powerpc/kernel/vdso64/Makefile
+++ b/arch/powerpc/kernel/vdso64/Makefile
@@ -9,6 +9,7 @@ targets := $(obj-vdso64) vdso64.so vdso64.so.dbg
 obj-vdso64 := $(addprefix $(obj)/, $(obj-vdso64))
 
 GCOV_PROFILE := n
+KCOV_INSTRUMENT := n
 UBSAN_SANITIZE := n
 
 ccflags-y := -shared -fno-common -fno-builtin
diff --git a/arch/powerpc/xmon/Makefile b/arch/powerpc/xmon/Makefile
index 878f9c1d3615..3050f9323254 100644
--- a/arch/powerpc/xmon/Makefile
+++ b/arch/powerpc/xmon/Makefile
@@ -5,6 +5,7 @@
 subdir-ccflags-y := $(call cc-disable-warning, builtin-requires-header)
 
 GCOV_PROFILE := n
+KCOV_INSTRUMENT := n
 UBSAN_SANITIZE := n
 
 # Disable ftrace for the entire directory
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [RFC PATCH] powerpc: Enable kcov
  2019-01-15  4:20 [RFC PATCH] powerpc: Enable kcov Andrew Donnellan
@ 2019-01-15  6:40 ` Dmitry Vyukov
  2019-01-15  8:00   ` Andrew Donnellan
  2019-01-15  7:26 ` gcc 6.3 vs 8.2 " Mathieu Malaterre
  1 sibling, 1 reply; 8+ messages in thread
From: Dmitry Vyukov @ 2019-01-15  6:40 UTC (permalink / raw)
  To: Andrew Donnellan; +Cc: syzkaller, linuxppc-dev, Daniel Axtens

On Tue, Jan 15, 2019 at 5:20 AM Andrew Donnellan
<andrew.donnellan@au1.ibm.com> wrote:
>
> kcov provides kernel coverage data that's useful for fuzzing tools like
> syzkaller.
>
> Wire up kcov support on powerpc. Disable kcov instrumentation on the same
> files where we currently disable gcov and UBSan instrumentation.
>
> Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>

Hi Andrew,

The patch looks good to me. Any reason to mail it as RFC rather than
final patch?

Acked-by: Dmitry Vyukov <dvyukov@google.com>

> ---
>
> kcov looks like it's working okay, both kcovtrace and syzkaller seem to be
> working. I did see some issues with compiling and booting kernels with gcc
> 6.3 and earlier versions which disappeared when I upgraded to gcc 8.2, I
> need to investigate that more.
>
> ---
>  arch/powerpc/Kconfig                | 1 +
>  arch/powerpc/kernel/Makefile        | 7 ++++++-
>  arch/powerpc/kernel/trace/Makefile  | 3 ++-
>  arch/powerpc/kernel/vdso32/Makefile | 1 +
>  arch/powerpc/kernel/vdso64/Makefile | 1 +
>  arch/powerpc/xmon/Makefile          | 1 +
>  6 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 2890d36eb531..d3698dae0e60 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -134,6 +134,7 @@ config PPC
>         select ARCH_HAS_ELF_RANDOMIZE
>         select ARCH_HAS_FORTIFY_SOURCE
>         select ARCH_HAS_GCOV_PROFILE_ALL
> +       select ARCH_HAS_KCOV
>         select ARCH_HAS_PHYS_TO_DMA
>         select ARCH_HAS_PMEM_API                if PPC64
>         select ARCH_HAS_PTE_SPECIAL
> diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
> index cb7f0bb9ee71..961f44eabb65 100644
> --- a/arch/powerpc/kernel/Makefile
> +++ b/arch/powerpc/kernel/Makefile
> @@ -142,16 +142,21 @@ endif
>  obj-$(CONFIG_EPAPR_PARAVIRT)   += epapr_paravirt.o epapr_hcalls.o
>  obj-$(CONFIG_KVM_GUEST)                += kvm.o kvm_emul.o
>
> -# Disable GCOV & sanitizers in odd or sensitive code
> +# Disable GCOV, KCOV & sanitizers in odd or sensitive code
>  GCOV_PROFILE_prom_init.o := n
> +KCOV_INSTRUMENT_prom_init.o := n
>  UBSAN_SANITIZE_prom_init.o := n
>  GCOV_PROFILE_machine_kexec_64.o := n
> +KCOV_INSTRUMENT_machine_kexec_64.o := n
>  UBSAN_SANITIZE_machine_kexec_64.o := n
>  GCOV_PROFILE_machine_kexec_32.o := n
> +KCOV_INSTRUMENT_machine_kexec_32.o := n
>  UBSAN_SANITIZE_machine_kexec_32.o := n
>  GCOV_PROFILE_kprobes.o := n
> +KCOV_INSTRUMENT_kprobes.o := n
>  UBSAN_SANITIZE_kprobes.o := n
>  GCOV_PROFILE_kprobes-ftrace.o := n
> +KCOV_INSTRUMENT_kprobes-ftrace.o := n
>  UBSAN_SANITIZE_kprobes-ftrace.o := n
>  UBSAN_SANITIZE_vdso.o := n
>
> diff --git a/arch/powerpc/kernel/trace/Makefile b/arch/powerpc/kernel/trace/Makefile
> index b1725ad3e13d..858503775c58 100644
> --- a/arch/powerpc/kernel/trace/Makefile
> +++ b/arch/powerpc/kernel/trace/Makefile
> @@ -23,6 +23,7 @@ obj-$(CONFIG_TRACING)                 += trace_clock.o
>  obj-$(CONFIG_PPC64)                    += $(obj64-y)
>  obj-$(CONFIG_PPC32)                    += $(obj32-y)
>
> -# Disable GCOV & sanitizers in odd or sensitive code
> +# Disable GCOV, KCOV & sanitizers in odd or sensitive code
>  GCOV_PROFILE_ftrace.o := n
> +KCOV_INSTRUMENT_ftrace.o := n
>  UBSAN_SANITIZE_ftrace.o := n
> diff --git a/arch/powerpc/kernel/vdso32/Makefile b/arch/powerpc/kernel/vdso32/Makefile
> index 50112d4473bb..ce199f6e4256 100644
> --- a/arch/powerpc/kernel/vdso32/Makefile
> +++ b/arch/powerpc/kernel/vdso32/Makefile
> @@ -23,6 +23,7 @@ targets := $(obj-vdso32) vdso32.so vdso32.so.dbg
>  obj-vdso32 := $(addprefix $(obj)/, $(obj-vdso32))
>
>  GCOV_PROFILE := n
> +KCOV_INSTRUMENT := n
>  UBSAN_SANITIZE := n
>
>  ccflags-y := -shared -fno-common -fno-builtin
> diff --git a/arch/powerpc/kernel/vdso64/Makefile b/arch/powerpc/kernel/vdso64/Makefile
> index 69cecb346269..28e7d112aa2f 100644
> --- a/arch/powerpc/kernel/vdso64/Makefile
> +++ b/arch/powerpc/kernel/vdso64/Makefile
> @@ -9,6 +9,7 @@ targets := $(obj-vdso64) vdso64.so vdso64.so.dbg
>  obj-vdso64 := $(addprefix $(obj)/, $(obj-vdso64))
>
>  GCOV_PROFILE := n
> +KCOV_INSTRUMENT := n
>  UBSAN_SANITIZE := n
>
>  ccflags-y := -shared -fno-common -fno-builtin
> diff --git a/arch/powerpc/xmon/Makefile b/arch/powerpc/xmon/Makefile
> index 878f9c1d3615..3050f9323254 100644
> --- a/arch/powerpc/xmon/Makefile
> +++ b/arch/powerpc/xmon/Makefile
> @@ -5,6 +5,7 @@
>  subdir-ccflags-y := $(call cc-disable-warning, builtin-requires-header)
>
>  GCOV_PROFILE := n
> +KCOV_INSTRUMENT := n
>  UBSAN_SANITIZE := n
>
>  # Disable ftrace for the entire directory
> --
> 2.11.0
>
> --
> You received this message because you are subscribed to the Google Groups "syzkaller" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to syzkaller+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* gcc 6.3 vs 8.2 Re: [RFC PATCH] powerpc: Enable kcov
  2019-01-15  4:20 [RFC PATCH] powerpc: Enable kcov Andrew Donnellan
  2019-01-15  6:40 ` Dmitry Vyukov
@ 2019-01-15  7:26 ` Mathieu Malaterre
  2019-01-15  8:14   ` Andrew Donnellan
  2019-01-15 22:39   ` Christophe Leroy
  1 sibling, 2 replies; 8+ messages in thread
From: Mathieu Malaterre @ 2019-01-15  7:26 UTC (permalink / raw)
  To: Andrew Donnellan; +Cc: linuxppc-dev

[Sorry to hijack this thread. ]

On Tue, Jan 15, 2019 at 5:22 AM Andrew Donnellan
<andrew.donnellan@au1.ibm.com> wrote:
>
> kcov provides kernel coverage data that's useful for fuzzing tools like
> syzkaller.
>
> Wire up kcov support on powerpc. Disable kcov instrumentation on the same
> files where we currently disable gcov and UBSan instrumentation.
>
> Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
>
> ---
>
> kcov looks like it's working okay, both kcovtrace and syzkaller seem to be
> working. I did see some issues with compiling and booting kernels with gcc
> 6.3 and earlier versions which disappeared when I upgraded to gcc 8.2, I
> need to investigate that more.

This is also my setup. Would you be able to tell why I get a kconfig
option loop when using gcc 8.2 which I cannot reproduce using gcc 6.3
?

gcc 6-3 is ok doing:

$ make ARCH=powerpc custom_defconfig
$ make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu-

while gcc 8.2 leads to (linux/master):

...
$ make ARCH=powerpc custom_defconfig
$ make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu-
  GEN     Makefile
scripts/kconfig/conf  --syncconfig Kconfig
*
* Restart config...
*
*
* General architecture-dependent options
*
OProfile system profiling (OPROFILE) [M/n/y/?] m
Kprobes (KPROBES) [Y/n/?] y
Optimize very unlikely/likely branches (JUMP_LABEL) [N/y/?] n
Stack Protector buffer overflow detection (STACKPROTECTOR) [Y/n/?] (NEW)
...

I did check that `custom_defconfig` is the minimal defconfig generated
by `savedefconfig` in both cases.

Hints or comments welcome, thanks much.

> ---
>  arch/powerpc/Kconfig                | 1 +
>  arch/powerpc/kernel/Makefile        | 7 ++++++-
>  arch/powerpc/kernel/trace/Makefile  | 3 ++-
>  arch/powerpc/kernel/vdso32/Makefile | 1 +
>  arch/powerpc/kernel/vdso64/Makefile | 1 +
>  arch/powerpc/xmon/Makefile          | 1 +
>  6 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 2890d36eb531..d3698dae0e60 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -134,6 +134,7 @@ config PPC
>         select ARCH_HAS_ELF_RANDOMIZE
>         select ARCH_HAS_FORTIFY_SOURCE
>         select ARCH_HAS_GCOV_PROFILE_ALL
> +       select ARCH_HAS_KCOV
>         select ARCH_HAS_PHYS_TO_DMA
>         select ARCH_HAS_PMEM_API                if PPC64
>         select ARCH_HAS_PTE_SPECIAL
> diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
> index cb7f0bb9ee71..961f44eabb65 100644
> --- a/arch/powerpc/kernel/Makefile
> +++ b/arch/powerpc/kernel/Makefile
> @@ -142,16 +142,21 @@ endif
>  obj-$(CONFIG_EPAPR_PARAVIRT)   += epapr_paravirt.o epapr_hcalls.o
>  obj-$(CONFIG_KVM_GUEST)                += kvm.o kvm_emul.o
>
> -# Disable GCOV & sanitizers in odd or sensitive code
> +# Disable GCOV, KCOV & sanitizers in odd or sensitive code
>  GCOV_PROFILE_prom_init.o := n
> +KCOV_INSTRUMENT_prom_init.o := n
>  UBSAN_SANITIZE_prom_init.o := n
>  GCOV_PROFILE_machine_kexec_64.o := n
> +KCOV_INSTRUMENT_machine_kexec_64.o := n
>  UBSAN_SANITIZE_machine_kexec_64.o := n
>  GCOV_PROFILE_machine_kexec_32.o := n
> +KCOV_INSTRUMENT_machine_kexec_32.o := n
>  UBSAN_SANITIZE_machine_kexec_32.o := n
>  GCOV_PROFILE_kprobes.o := n
> +KCOV_INSTRUMENT_kprobes.o := n
>  UBSAN_SANITIZE_kprobes.o := n
>  GCOV_PROFILE_kprobes-ftrace.o := n
> +KCOV_INSTRUMENT_kprobes-ftrace.o := n
>  UBSAN_SANITIZE_kprobes-ftrace.o := n
>  UBSAN_SANITIZE_vdso.o := n
>
> diff --git a/arch/powerpc/kernel/trace/Makefile b/arch/powerpc/kernel/trace/Makefile
> index b1725ad3e13d..858503775c58 100644
> --- a/arch/powerpc/kernel/trace/Makefile
> +++ b/arch/powerpc/kernel/trace/Makefile
> @@ -23,6 +23,7 @@ obj-$(CONFIG_TRACING)                 += trace_clock.o
>  obj-$(CONFIG_PPC64)                    += $(obj64-y)
>  obj-$(CONFIG_PPC32)                    += $(obj32-y)
>
> -# Disable GCOV & sanitizers in odd or sensitive code
> +# Disable GCOV, KCOV & sanitizers in odd or sensitive code
>  GCOV_PROFILE_ftrace.o := n
> +KCOV_INSTRUMENT_ftrace.o := n
>  UBSAN_SANITIZE_ftrace.o := n
> diff --git a/arch/powerpc/kernel/vdso32/Makefile b/arch/powerpc/kernel/vdso32/Makefile
> index 50112d4473bb..ce199f6e4256 100644
> --- a/arch/powerpc/kernel/vdso32/Makefile
> +++ b/arch/powerpc/kernel/vdso32/Makefile
> @@ -23,6 +23,7 @@ targets := $(obj-vdso32) vdso32.so vdso32.so.dbg
>  obj-vdso32 := $(addprefix $(obj)/, $(obj-vdso32))
>
>  GCOV_PROFILE := n
> +KCOV_INSTRUMENT := n
>  UBSAN_SANITIZE := n
>
>  ccflags-y := -shared -fno-common -fno-builtin
> diff --git a/arch/powerpc/kernel/vdso64/Makefile b/arch/powerpc/kernel/vdso64/Makefile
> index 69cecb346269..28e7d112aa2f 100644
> --- a/arch/powerpc/kernel/vdso64/Makefile
> +++ b/arch/powerpc/kernel/vdso64/Makefile
> @@ -9,6 +9,7 @@ targets := $(obj-vdso64) vdso64.so vdso64.so.dbg
>  obj-vdso64 := $(addprefix $(obj)/, $(obj-vdso64))
>
>  GCOV_PROFILE := n
> +KCOV_INSTRUMENT := n
>  UBSAN_SANITIZE := n
>
>  ccflags-y := -shared -fno-common -fno-builtin
> diff --git a/arch/powerpc/xmon/Makefile b/arch/powerpc/xmon/Makefile
> index 878f9c1d3615..3050f9323254 100644
> --- a/arch/powerpc/xmon/Makefile
> +++ b/arch/powerpc/xmon/Makefile
> @@ -5,6 +5,7 @@
>  subdir-ccflags-y := $(call cc-disable-warning, builtin-requires-header)
>
>  GCOV_PROFILE := n
> +KCOV_INSTRUMENT := n
>  UBSAN_SANITIZE := n
>
>  # Disable ftrace for the entire directory
> --
> 2.11.0
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [RFC PATCH] powerpc: Enable kcov
  2019-01-15  6:40 ` Dmitry Vyukov
@ 2019-01-15  8:00   ` Andrew Donnellan
  0 siblings, 0 replies; 8+ messages in thread
From: Andrew Donnellan @ 2019-01-15  8:00 UTC (permalink / raw)
  To: Dmitry Vyukov; +Cc: syzkaller, linuxppc-dev, Daniel Axtens

On 15/1/19 5:40 pm, Dmitry Vyukov wrote:
> On Tue, Jan 15, 2019 at 5:20 AM Andrew Donnellan
> <andrew.donnellan@au1.ibm.com> wrote:
>>
>> kcov provides kernel coverage data that's useful for fuzzing tools like
>> syzkaller.
>>
>> Wire up kcov support on powerpc. Disable kcov instrumentation on the same
>> files where we currently disable gcov and UBSan instrumentation.
>>
>> Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
> 
> Hi Andrew,
> 
> The patch looks good to me. Any reason to mail it as RFC rather than
> final patch?
> 
> Acked-by: Dmitry Vyukov <dvyukov@google.com>

Thanks!

Just the issues mentioned below, but if mpe feels like merging it anyway...


Andrew

> 
>> ---
>>
>> kcov looks like it's working okay, both kcovtrace and syzkaller seem to be
>> working. I did see some issues with compiling and booting kernels with gcc
>> 6.3 and earlier versions which disappeared when I upgraded to gcc 8.2, I
>> need to investigate that more.
>>
>> ---
>>   arch/powerpc/Kconfig                | 1 +
>>   arch/powerpc/kernel/Makefile        | 7 ++++++-
>>   arch/powerpc/kernel/trace/Makefile  | 3 ++-
>>   arch/powerpc/kernel/vdso32/Makefile | 1 +
>>   arch/powerpc/kernel/vdso64/Makefile | 1 +
>>   arch/powerpc/xmon/Makefile          | 1 +
>>   6 files changed, 12 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
>> index 2890d36eb531..d3698dae0e60 100644
>> --- a/arch/powerpc/Kconfig
>> +++ b/arch/powerpc/Kconfig
>> @@ -134,6 +134,7 @@ config PPC
>>          select ARCH_HAS_ELF_RANDOMIZE
>>          select ARCH_HAS_FORTIFY_SOURCE
>>          select ARCH_HAS_GCOV_PROFILE_ALL
>> +       select ARCH_HAS_KCOV
>>          select ARCH_HAS_PHYS_TO_DMA
>>          select ARCH_HAS_PMEM_API                if PPC64
>>          select ARCH_HAS_PTE_SPECIAL
>> diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
>> index cb7f0bb9ee71..961f44eabb65 100644
>> --- a/arch/powerpc/kernel/Makefile
>> +++ b/arch/powerpc/kernel/Makefile
>> @@ -142,16 +142,21 @@ endif
>>   obj-$(CONFIG_EPAPR_PARAVIRT)   += epapr_paravirt.o epapr_hcalls.o
>>   obj-$(CONFIG_KVM_GUEST)                += kvm.o kvm_emul.o
>>
>> -# Disable GCOV & sanitizers in odd or sensitive code
>> +# Disable GCOV, KCOV & sanitizers in odd or sensitive code
>>   GCOV_PROFILE_prom_init.o := n
>> +KCOV_INSTRUMENT_prom_init.o := n
>>   UBSAN_SANITIZE_prom_init.o := n
>>   GCOV_PROFILE_machine_kexec_64.o := n
>> +KCOV_INSTRUMENT_machine_kexec_64.o := n
>>   UBSAN_SANITIZE_machine_kexec_64.o := n
>>   GCOV_PROFILE_machine_kexec_32.o := n
>> +KCOV_INSTRUMENT_machine_kexec_32.o := n
>>   UBSAN_SANITIZE_machine_kexec_32.o := n
>>   GCOV_PROFILE_kprobes.o := n
>> +KCOV_INSTRUMENT_kprobes.o := n
>>   UBSAN_SANITIZE_kprobes.o := n
>>   GCOV_PROFILE_kprobes-ftrace.o := n
>> +KCOV_INSTRUMENT_kprobes-ftrace.o := n
>>   UBSAN_SANITIZE_kprobes-ftrace.o := n
>>   UBSAN_SANITIZE_vdso.o := n
>>
>> diff --git a/arch/powerpc/kernel/trace/Makefile b/arch/powerpc/kernel/trace/Makefile
>> index b1725ad3e13d..858503775c58 100644
>> --- a/arch/powerpc/kernel/trace/Makefile
>> +++ b/arch/powerpc/kernel/trace/Makefile
>> @@ -23,6 +23,7 @@ obj-$(CONFIG_TRACING)                 += trace_clock.o
>>   obj-$(CONFIG_PPC64)                    += $(obj64-y)
>>   obj-$(CONFIG_PPC32)                    += $(obj32-y)
>>
>> -# Disable GCOV & sanitizers in odd or sensitive code
>> +# Disable GCOV, KCOV & sanitizers in odd or sensitive code
>>   GCOV_PROFILE_ftrace.o := n
>> +KCOV_INSTRUMENT_ftrace.o := n
>>   UBSAN_SANITIZE_ftrace.o := n
>> diff --git a/arch/powerpc/kernel/vdso32/Makefile b/arch/powerpc/kernel/vdso32/Makefile
>> index 50112d4473bb..ce199f6e4256 100644
>> --- a/arch/powerpc/kernel/vdso32/Makefile
>> +++ b/arch/powerpc/kernel/vdso32/Makefile
>> @@ -23,6 +23,7 @@ targets := $(obj-vdso32) vdso32.so vdso32.so.dbg
>>   obj-vdso32 := $(addprefix $(obj)/, $(obj-vdso32))
>>
>>   GCOV_PROFILE := n
>> +KCOV_INSTRUMENT := n
>>   UBSAN_SANITIZE := n
>>
>>   ccflags-y := -shared -fno-common -fno-builtin
>> diff --git a/arch/powerpc/kernel/vdso64/Makefile b/arch/powerpc/kernel/vdso64/Makefile
>> index 69cecb346269..28e7d112aa2f 100644
>> --- a/arch/powerpc/kernel/vdso64/Makefile
>> +++ b/arch/powerpc/kernel/vdso64/Makefile
>> @@ -9,6 +9,7 @@ targets := $(obj-vdso64) vdso64.so vdso64.so.dbg
>>   obj-vdso64 := $(addprefix $(obj)/, $(obj-vdso64))
>>
>>   GCOV_PROFILE := n
>> +KCOV_INSTRUMENT := n
>>   UBSAN_SANITIZE := n
>>
>>   ccflags-y := -shared -fno-common -fno-builtin
>> diff --git a/arch/powerpc/xmon/Makefile b/arch/powerpc/xmon/Makefile
>> index 878f9c1d3615..3050f9323254 100644
>> --- a/arch/powerpc/xmon/Makefile
>> +++ b/arch/powerpc/xmon/Makefile
>> @@ -5,6 +5,7 @@
>>   subdir-ccflags-y := $(call cc-disable-warning, builtin-requires-header)
>>
>>   GCOV_PROFILE := n
>> +KCOV_INSTRUMENT := n
>>   UBSAN_SANITIZE := n
>>
>>   # Disable ftrace for the entire directory
>> --
>> 2.11.0
>>
>> --
>> You received this message because you are subscribed to the Google Groups "syzkaller" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to syzkaller+unsubscribe@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
> 

-- 
Andrew Donnellan              OzLabs, ADL Canberra
andrew.donnellan@au1.ibm.com  IBM Australia Limited


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: gcc 6.3 vs 8.2 Re: [RFC PATCH] powerpc: Enable kcov
  2019-01-15  7:26 ` gcc 6.3 vs 8.2 " Mathieu Malaterre
@ 2019-01-15  8:14   ` Andrew Donnellan
  2019-01-15 22:39   ` Christophe Leroy
  1 sibling, 0 replies; 8+ messages in thread
From: Andrew Donnellan @ 2019-01-15  8:14 UTC (permalink / raw)
  To: Mathieu Malaterre; +Cc: linuxppc-dev

On 15/1/19 6:26 pm, Mathieu Malaterre wrote:
> [Sorry to hijack this thread. ]
> 
> On Tue, Jan 15, 2019 at 5:22 AM Andrew Donnellan
> <andrew.donnellan@au1.ibm.com> wrote:
>>
>> kcov provides kernel coverage data that's useful for fuzzing tools like
>> syzkaller.
>>
>> Wire up kcov support on powerpc. Disable kcov instrumentation on the same
>> files where we currently disable gcov and UBSan instrumentation.
>>
>> Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
>>
>> ---
>>
>> kcov looks like it's working okay, both kcovtrace and syzkaller seem to be
>> working. I did see some issues with compiling and booting kernels with gcc
>> 6.3 and earlier versions which disappeared when I upgraded to gcc 8.2, I
>> need to investigate that more.
> 
> This is also my setup. Would you be able to tell why I get a kconfig
> option loop when using gcc 8.2 which I cannot reproduce using gcc 6.3
> ?
> 
> gcc 6-3 is ok doing:
> 
> $ make ARCH=powerpc custom_defconfig
> $ make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu-
> 
> while gcc 8.2 leads to (linux/master):
> 
> ...
> $ make ARCH=powerpc custom_defconfig
> $ make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu-
>    GEN     Makefile
> scripts/kconfig/conf  --syncconfig Kconfig
> *
> * Restart config...
> *
> *
> * General architecture-dependent options
> *
> OProfile system profiling (OPROFILE) [M/n/y/?] m
> Kprobes (KPROBES) [Y/n/?] y
> Optimize very unlikely/likely branches (JUMP_LABEL) [N/y/?] n
> Stack Protector buffer overflow detection (STACKPROTECTOR) [Y/n/?] (NEW)
> ...
> 
> I did check that `custom_defconfig` is the minimal defconfig generated
> by `savedefconfig` in both cases.
> 
> Hints or comments welcome, thanks much.

That would be because in arch/powerpc/Kconfig:

select HAVE_STACKPROTECTOR              if PPC64 && 
$(cc-option,-mstack-protector-guard=tls -mstack-protector-guard-reg=r13)

Thus the STACKPROTECTOR option appears or disappears depending on 
compiler version.

Sure enough, gcc 6 whinges about that option, gcc 8 does not.


Andrew

> 
>> ---
>>   arch/powerpc/Kconfig                | 1 +
>>   arch/powerpc/kernel/Makefile        | 7 ++++++-
>>   arch/powerpc/kernel/trace/Makefile  | 3 ++-
>>   arch/powerpc/kernel/vdso32/Makefile | 1 +
>>   arch/powerpc/kernel/vdso64/Makefile | 1 +
>>   arch/powerpc/xmon/Makefile          | 1 +
>>   6 files changed, 12 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
>> index 2890d36eb531..d3698dae0e60 100644
>> --- a/arch/powerpc/Kconfig
>> +++ b/arch/powerpc/Kconfig
>> @@ -134,6 +134,7 @@ config PPC
>>          select ARCH_HAS_ELF_RANDOMIZE
>>          select ARCH_HAS_FORTIFY_SOURCE
>>          select ARCH_HAS_GCOV_PROFILE_ALL
>> +       select ARCH_HAS_KCOV
>>          select ARCH_HAS_PHYS_TO_DMA
>>          select ARCH_HAS_PMEM_API                if PPC64
>>          select ARCH_HAS_PTE_SPECIAL
>> diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
>> index cb7f0bb9ee71..961f44eabb65 100644
>> --- a/arch/powerpc/kernel/Makefile
>> +++ b/arch/powerpc/kernel/Makefile
>> @@ -142,16 +142,21 @@ endif
>>   obj-$(CONFIG_EPAPR_PARAVIRT)   += epapr_paravirt.o epapr_hcalls.o
>>   obj-$(CONFIG_KVM_GUEST)                += kvm.o kvm_emul.o
>>
>> -# Disable GCOV & sanitizers in odd or sensitive code
>> +# Disable GCOV, KCOV & sanitizers in odd or sensitive code
>>   GCOV_PROFILE_prom_init.o := n
>> +KCOV_INSTRUMENT_prom_init.o := n
>>   UBSAN_SANITIZE_prom_init.o := n
>>   GCOV_PROFILE_machine_kexec_64.o := n
>> +KCOV_INSTRUMENT_machine_kexec_64.o := n
>>   UBSAN_SANITIZE_machine_kexec_64.o := n
>>   GCOV_PROFILE_machine_kexec_32.o := n
>> +KCOV_INSTRUMENT_machine_kexec_32.o := n
>>   UBSAN_SANITIZE_machine_kexec_32.o := n
>>   GCOV_PROFILE_kprobes.o := n
>> +KCOV_INSTRUMENT_kprobes.o := n
>>   UBSAN_SANITIZE_kprobes.o := n
>>   GCOV_PROFILE_kprobes-ftrace.o := n
>> +KCOV_INSTRUMENT_kprobes-ftrace.o := n
>>   UBSAN_SANITIZE_kprobes-ftrace.o := n
>>   UBSAN_SANITIZE_vdso.o := n
>>
>> diff --git a/arch/powerpc/kernel/trace/Makefile b/arch/powerpc/kernel/trace/Makefile
>> index b1725ad3e13d..858503775c58 100644
>> --- a/arch/powerpc/kernel/trace/Makefile
>> +++ b/arch/powerpc/kernel/trace/Makefile
>> @@ -23,6 +23,7 @@ obj-$(CONFIG_TRACING)                 += trace_clock.o
>>   obj-$(CONFIG_PPC64)                    += $(obj64-y)
>>   obj-$(CONFIG_PPC32)                    += $(obj32-y)
>>
>> -# Disable GCOV & sanitizers in odd or sensitive code
>> +# Disable GCOV, KCOV & sanitizers in odd or sensitive code
>>   GCOV_PROFILE_ftrace.o := n
>> +KCOV_INSTRUMENT_ftrace.o := n
>>   UBSAN_SANITIZE_ftrace.o := n
>> diff --git a/arch/powerpc/kernel/vdso32/Makefile b/arch/powerpc/kernel/vdso32/Makefile
>> index 50112d4473bb..ce199f6e4256 100644
>> --- a/arch/powerpc/kernel/vdso32/Makefile
>> +++ b/arch/powerpc/kernel/vdso32/Makefile
>> @@ -23,6 +23,7 @@ targets := $(obj-vdso32) vdso32.so vdso32.so.dbg
>>   obj-vdso32 := $(addprefix $(obj)/, $(obj-vdso32))
>>
>>   GCOV_PROFILE := n
>> +KCOV_INSTRUMENT := n
>>   UBSAN_SANITIZE := n
>>
>>   ccflags-y := -shared -fno-common -fno-builtin
>> diff --git a/arch/powerpc/kernel/vdso64/Makefile b/arch/powerpc/kernel/vdso64/Makefile
>> index 69cecb346269..28e7d112aa2f 100644
>> --- a/arch/powerpc/kernel/vdso64/Makefile
>> +++ b/arch/powerpc/kernel/vdso64/Makefile
>> @@ -9,6 +9,7 @@ targets := $(obj-vdso64) vdso64.so vdso64.so.dbg
>>   obj-vdso64 := $(addprefix $(obj)/, $(obj-vdso64))
>>
>>   GCOV_PROFILE := n
>> +KCOV_INSTRUMENT := n
>>   UBSAN_SANITIZE := n
>>
>>   ccflags-y := -shared -fno-common -fno-builtin
>> diff --git a/arch/powerpc/xmon/Makefile b/arch/powerpc/xmon/Makefile
>> index 878f9c1d3615..3050f9323254 100644
>> --- a/arch/powerpc/xmon/Makefile
>> +++ b/arch/powerpc/xmon/Makefile
>> @@ -5,6 +5,7 @@
>>   subdir-ccflags-y := $(call cc-disable-warning, builtin-requires-header)
>>
>>   GCOV_PROFILE := n
>> +KCOV_INSTRUMENT := n
>>   UBSAN_SANITIZE := n
>>
>>   # Disable ftrace for the entire directory
>> --
>> 2.11.0
>>
> 

-- 
Andrew Donnellan              OzLabs, ADL Canberra
andrew.donnellan@au1.ibm.com  IBM Australia Limited


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: gcc 6.3 vs 8.2 Re: [RFC PATCH] powerpc: Enable kcov
  2019-01-15  7:26 ` gcc 6.3 vs 8.2 " Mathieu Malaterre
  2019-01-15  8:14   ` Andrew Donnellan
@ 2019-01-15 22:39   ` Christophe Leroy
  2019-01-16  5:08     ` Michael Ellerman
  1 sibling, 1 reply; 8+ messages in thread
From: Christophe Leroy @ 2019-01-15 22:39 UTC (permalink / raw)
  To: Mathieu Malaterre, Andrew Donnellan; +Cc: linuxppc-dev



Le 15/01/2019 à 08:26, Mathieu Malaterre a écrit :
> [Sorry to hijack this thread. ]
> 
> On Tue, Jan 15, 2019 at 5:22 AM Andrew Donnellan
> <andrew.donnellan@au1.ibm.com> wrote:
>>
>> kcov provides kernel coverage data that's useful for fuzzing tools like
>> syzkaller.
>>
>> Wire up kcov support on powerpc. Disable kcov instrumentation on the same
>> files where we currently disable gcov and UBSan instrumentation.
>>
>> Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
>>
>> ---
>>
>> kcov looks like it's working okay, both kcovtrace and syzkaller seem to be
>> working. I did see some issues with compiling and booting kernels with gcc
>> 6.3 and earlier versions which disappeared when I upgraded to gcc 8.2, I
>> need to investigate that more.
> 
> This is also my setup. Would you be able to tell why I get a kconfig
> option loop when using gcc 8.2 which I cannot reproduce using gcc 6.3
> ?
> 
> gcc 6-3 is ok doing:
> 
> $ make ARCH=powerpc custom_defconfig
> $ make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu-
> 
> while gcc 8.2 leads to (linux/master):
> 
> ...
> $ make ARCH=powerpc custom_defconfig
> $ make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu-
>    GEN     Makefile
> scripts/kconfig/conf  --syncconfig Kconfig
> *
> * Restart config...
> *
> *
> * General architecture-dependent options
> *
> OProfile system profiling (OPROFILE) [M/n/y/?] m
> Kprobes (KPROBES) [Y/n/?] y
> Optimize very unlikely/likely branches (JUMP_LABEL) [N/y/?] n
> Stack Protector buffer overflow detection (STACKPROTECTOR) [Y/n/?] (NEW)
> ...
> 
> I did check that `custom_defconfig` is the minimal defconfig generated
> by `savedefconfig` in both cases.
> 
> Hints or comments welcome, thanks much.

I think you should do:

make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- custom_defconfig
make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu-

Christophe

> 
>> ---
>>   arch/powerpc/Kconfig                | 1 +
>>   arch/powerpc/kernel/Makefile        | 7 ++++++-
>>   arch/powerpc/kernel/trace/Makefile  | 3 ++-
>>   arch/powerpc/kernel/vdso32/Makefile | 1 +
>>   arch/powerpc/kernel/vdso64/Makefile | 1 +
>>   arch/powerpc/xmon/Makefile          | 1 +
>>   6 files changed, 12 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
>> index 2890d36eb531..d3698dae0e60 100644
>> --- a/arch/powerpc/Kconfig
>> +++ b/arch/powerpc/Kconfig
>> @@ -134,6 +134,7 @@ config PPC
>>          select ARCH_HAS_ELF_RANDOMIZE
>>          select ARCH_HAS_FORTIFY_SOURCE
>>          select ARCH_HAS_GCOV_PROFILE_ALL
>> +       select ARCH_HAS_KCOV
>>          select ARCH_HAS_PHYS_TO_DMA
>>          select ARCH_HAS_PMEM_API                if PPC64
>>          select ARCH_HAS_PTE_SPECIAL
>> diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile
>> index cb7f0bb9ee71..961f44eabb65 100644
>> --- a/arch/powerpc/kernel/Makefile
>> +++ b/arch/powerpc/kernel/Makefile
>> @@ -142,16 +142,21 @@ endif
>>   obj-$(CONFIG_EPAPR_PARAVIRT)   += epapr_paravirt.o epapr_hcalls.o
>>   obj-$(CONFIG_KVM_GUEST)                += kvm.o kvm_emul.o
>>
>> -# Disable GCOV & sanitizers in odd or sensitive code
>> +# Disable GCOV, KCOV & sanitizers in odd or sensitive code
>>   GCOV_PROFILE_prom_init.o := n
>> +KCOV_INSTRUMENT_prom_init.o := n
>>   UBSAN_SANITIZE_prom_init.o := n
>>   GCOV_PROFILE_machine_kexec_64.o := n
>> +KCOV_INSTRUMENT_machine_kexec_64.o := n
>>   UBSAN_SANITIZE_machine_kexec_64.o := n
>>   GCOV_PROFILE_machine_kexec_32.o := n
>> +KCOV_INSTRUMENT_machine_kexec_32.o := n
>>   UBSAN_SANITIZE_machine_kexec_32.o := n
>>   GCOV_PROFILE_kprobes.o := n
>> +KCOV_INSTRUMENT_kprobes.o := n
>>   UBSAN_SANITIZE_kprobes.o := n
>>   GCOV_PROFILE_kprobes-ftrace.o := n
>> +KCOV_INSTRUMENT_kprobes-ftrace.o := n
>>   UBSAN_SANITIZE_kprobes-ftrace.o := n
>>   UBSAN_SANITIZE_vdso.o := n
>>
>> diff --git a/arch/powerpc/kernel/trace/Makefile b/arch/powerpc/kernel/trace/Makefile
>> index b1725ad3e13d..858503775c58 100644
>> --- a/arch/powerpc/kernel/trace/Makefile
>> +++ b/arch/powerpc/kernel/trace/Makefile
>> @@ -23,6 +23,7 @@ obj-$(CONFIG_TRACING)                 += trace_clock.o
>>   obj-$(CONFIG_PPC64)                    += $(obj64-y)
>>   obj-$(CONFIG_PPC32)                    += $(obj32-y)
>>
>> -# Disable GCOV & sanitizers in odd or sensitive code
>> +# Disable GCOV, KCOV & sanitizers in odd or sensitive code
>>   GCOV_PROFILE_ftrace.o := n
>> +KCOV_INSTRUMENT_ftrace.o := n
>>   UBSAN_SANITIZE_ftrace.o := n
>> diff --git a/arch/powerpc/kernel/vdso32/Makefile b/arch/powerpc/kernel/vdso32/Makefile
>> index 50112d4473bb..ce199f6e4256 100644
>> --- a/arch/powerpc/kernel/vdso32/Makefile
>> +++ b/arch/powerpc/kernel/vdso32/Makefile
>> @@ -23,6 +23,7 @@ targets := $(obj-vdso32) vdso32.so vdso32.so.dbg
>>   obj-vdso32 := $(addprefix $(obj)/, $(obj-vdso32))
>>
>>   GCOV_PROFILE := n
>> +KCOV_INSTRUMENT := n
>>   UBSAN_SANITIZE := n
>>
>>   ccflags-y := -shared -fno-common -fno-builtin
>> diff --git a/arch/powerpc/kernel/vdso64/Makefile b/arch/powerpc/kernel/vdso64/Makefile
>> index 69cecb346269..28e7d112aa2f 100644
>> --- a/arch/powerpc/kernel/vdso64/Makefile
>> +++ b/arch/powerpc/kernel/vdso64/Makefile
>> @@ -9,6 +9,7 @@ targets := $(obj-vdso64) vdso64.so vdso64.so.dbg
>>   obj-vdso64 := $(addprefix $(obj)/, $(obj-vdso64))
>>
>>   GCOV_PROFILE := n
>> +KCOV_INSTRUMENT := n
>>   UBSAN_SANITIZE := n
>>
>>   ccflags-y := -shared -fno-common -fno-builtin
>> diff --git a/arch/powerpc/xmon/Makefile b/arch/powerpc/xmon/Makefile
>> index 878f9c1d3615..3050f9323254 100644
>> --- a/arch/powerpc/xmon/Makefile
>> +++ b/arch/powerpc/xmon/Makefile
>> @@ -5,6 +5,7 @@
>>   subdir-ccflags-y := $(call cc-disable-warning, builtin-requires-header)
>>
>>   GCOV_PROFILE := n
>> +KCOV_INSTRUMENT := n
>>   UBSAN_SANITIZE := n
>>
>>   # Disable ftrace for the entire directory
>> --
>> 2.11.0
>>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: gcc 6.3 vs 8.2 Re: [RFC PATCH] powerpc: Enable kcov
  2019-01-15 22:39   ` Christophe Leroy
@ 2019-01-16  5:08     ` Michael Ellerman
  2019-01-16  7:54       ` Mathieu Malaterre
  0 siblings, 1 reply; 8+ messages in thread
From: Michael Ellerman @ 2019-01-16  5:08 UTC (permalink / raw)
  To: Christophe Leroy, Mathieu Malaterre, Andrew Donnellan; +Cc: linuxppc-dev

Christophe Leroy <christophe.leroy@c-s.fr> writes:
> Le 15/01/2019 à 08:26, Mathieu Malaterre a écrit :
...
>> 
>> I did check that `custom_defconfig` is the minimal defconfig generated
>> by `savedefconfig` in both cases.
>> 
>> Hints or comments welcome, thanks much.
>
> I think you should do:
>
> make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- custom_defconfig
> make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu-

Yep, you definitely need to use the same compiler for configuring and
building.

cheers

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: gcc 6.3 vs 8.2 Re: [RFC PATCH] powerpc: Enable kcov
  2019-01-16  5:08     ` Michael Ellerman
@ 2019-01-16  7:54       ` Mathieu Malaterre
  0 siblings, 0 replies; 8+ messages in thread
From: Mathieu Malaterre @ 2019-01-16  7:54 UTC (permalink / raw)
  To: Michael Ellerman; +Cc: linuxppc-dev, Andrew Donnellan

On Wed, Jan 16, 2019 at 6:09 AM Michael Ellerman <mpe@ellerman.id.au> wrote:
>
> Christophe Leroy <christophe.leroy@c-s.fr> writes:
> > Le 15/01/2019 à 08:26, Mathieu Malaterre a écrit :
> ...
> >>
> >> I did check that `custom_defconfig` is the minimal defconfig generated
> >> by `savedefconfig` in both cases.
> >>
> >> Hints or comments welcome, thanks much.
> >
> > I think you should do:
> >
> > make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- custom_defconfig
> > make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu-
>
> Yep, you definitely need to use the same compiler for configuring and
> building.

<facepalm>
That was it. Thanks for the help !

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-01-16  7:56 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-15  4:20 [RFC PATCH] powerpc: Enable kcov Andrew Donnellan
2019-01-15  6:40 ` Dmitry Vyukov
2019-01-15  8:00   ` Andrew Donnellan
2019-01-15  7:26 ` gcc 6.3 vs 8.2 " Mathieu Malaterre
2019-01-15  8:14   ` Andrew Donnellan
2019-01-15 22:39   ` Christophe Leroy
2019-01-16  5:08     ` Michael Ellerman
2019-01-16  7:54       ` Mathieu Malaterre

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).