This is an automated email from the ASF dual-hosted git repository. pkarashchenko pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit c44a7cbf889119ea958729381113a1e552903cbd Author: Xiang Xiao <xiaoxi...@xiaomi.com> AuthorDate: Sat Aug 20 06:38:35 2022 +0800 arch: Add ARCH_COVERAGE_ALL option so the user could disable the full image instrumentation, but enable the instrumentation by files or directories. Signed-off-by: Xiang Xiao <xiaoxi...@xiaomi.com> --- arch/Kconfig | 12 ++++++++++++ arch/arm/src/arm/Toolchain.defs | 2 +- arch/arm/src/armv6-m/Toolchain.defs | 2 +- arch/arm/src/armv7-a/Toolchain.defs | 2 +- arch/arm/src/armv7-m/Toolchain.defs | 2 +- arch/arm/src/armv7-r/Toolchain.defs | 2 +- arch/arm/src/armv8-m/Toolchain.defs | 2 +- arch/arm64/src/Toolchain.defs | 2 +- arch/risc-v/src/common/Toolchain.defs | 2 +- arch/xtensa/src/lx6/Toolchain.defs | 2 +- arch/xtensa/src/lx7/Toolchain.defs | 2 +- boards/sim/sim/sim/scripts/Make.defs | 2 +- 12 files changed, 23 insertions(+), 11 deletions(-) diff --git a/arch/Kconfig b/arch/Kconfig index 52a3ccffff..031158f630 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -304,6 +304,18 @@ config ARCH_COVERAGE ---help--- Generate code coverage +config ARCH_COVERAGE_ALL + bool "Enable code coverage for the entire image" + depends on ARCH_COVERAGE + default y + ---help--- + This option activates code coverage instrumentation for the + entire image. If you don't enable this option, you have to + explicitly specify "-fprofile-generate -ftest-coverage" for + the files/directories you want to check. Enabling this option + will get image size increased and performance decreased + significantly. + comment "Architecture Options" config ARCH_NOINTC diff --git a/arch/arm/src/arm/Toolchain.defs b/arch/arm/src/arm/Toolchain.defs index 446d42423d..c86a8ee5f2 100644 --- a/arch/arm/src/arm/Toolchain.defs +++ b/arch/arm/src/arm/Toolchain.defs @@ -75,7 +75,7 @@ ifeq ($(CONFIG_STACK_CANARIES),y) ARCHOPTIMIZATION += -fstack-protector-all endif -ifeq ($(CONFIG_ARCH_COVERAGE),y) +ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y) ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage endif diff --git a/arch/arm/src/armv6-m/Toolchain.defs b/arch/arm/src/armv6-m/Toolchain.defs index 9265878827..ca5d553759 100644 --- a/arch/arm/src/armv6-m/Toolchain.defs +++ b/arch/arm/src/armv6-m/Toolchain.defs @@ -79,7 +79,7 @@ ifeq ($(CONFIG_STACK_CANARIES),y) ARCHOPTIMIZATION += -fstack-protector-all endif -ifeq ($(CONFIG_ARCH_COVERAGE),y) +ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y) ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage endif diff --git a/arch/arm/src/armv7-a/Toolchain.defs b/arch/arm/src/armv7-a/Toolchain.defs index 708e6f0434..7bad83ad97 100644 --- a/arch/arm/src/armv7-a/Toolchain.defs +++ b/arch/arm/src/armv7-a/Toolchain.defs @@ -120,7 +120,7 @@ ifeq ($(CONFIG_STACK_CANARIES),y) ARCHOPTIMIZATION += -fstack-protector-all endif -ifeq ($(CONFIG_ARCH_COVERAGE),y) +ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y) ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage endif diff --git a/arch/arm/src/armv7-m/Toolchain.defs b/arch/arm/src/armv7-m/Toolchain.defs index 2e123ce2fc..2cd7dab07d 100644 --- a/arch/arm/src/armv7-m/Toolchain.defs +++ b/arch/arm/src/armv7-m/Toolchain.defs @@ -81,7 +81,7 @@ ifeq ($(CONFIG_STACK_CANARIES),y) ARCHOPTIMIZATION += -fstack-protector-all endif -ifeq ($(CONFIG_ARCH_COVERAGE),y) +ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y) ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage endif diff --git a/arch/arm/src/armv7-r/Toolchain.defs b/arch/arm/src/armv7-r/Toolchain.defs index 68524274c0..27c4f1a34d 100644 --- a/arch/arm/src/armv7-r/Toolchain.defs +++ b/arch/arm/src/armv7-r/Toolchain.defs @@ -69,7 +69,7 @@ ifeq ($(CONFIG_STACK_CANARIES),y) ARCHOPTIMIZATION += -fstack-protector-all endif -ifeq ($(CONFIG_ARCH_COVERAGE),y) +ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y) ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage endif diff --git a/arch/arm/src/armv8-m/Toolchain.defs b/arch/arm/src/armv8-m/Toolchain.defs index 63bd421a32..c0a5e72550 100644 --- a/arch/arm/src/armv8-m/Toolchain.defs +++ b/arch/arm/src/armv8-m/Toolchain.defs @@ -81,7 +81,7 @@ ifeq ($(CONFIG_STACK_CANARIES),y) ARCHOPTIMIZATION += -fstack-protector-all endif -ifeq ($(CONFIG_ARCH_COVERAGE),y) +ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y) ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage endif diff --git a/arch/arm64/src/Toolchain.defs b/arch/arm64/src/Toolchain.defs index 07c2f899e6..3d49f4e164 100644 --- a/arch/arm64/src/Toolchain.defs +++ b/arch/arm64/src/Toolchain.defs @@ -58,7 +58,7 @@ ifeq ($(CONFIG_STACK_CANARIES),y) ARCHOPTIMIZATION += -fstack-protector-all endif -ifeq ($(CONFIG_ARCH_COVERAGE),y) +ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y) ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage endif diff --git a/arch/risc-v/src/common/Toolchain.defs b/arch/risc-v/src/common/Toolchain.defs index f1a2684245..9d6e1031c7 100644 --- a/arch/risc-v/src/common/Toolchain.defs +++ b/arch/risc-v/src/common/Toolchain.defs @@ -63,7 +63,7 @@ ifeq ($(CONFIG_STACK_CANARIES),y) ARCHOPTIMIZATION += -fstack-protector-all endif -ifeq ($(CONFIG_ARCH_COVERAGE),y) +ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y) ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage endif diff --git a/arch/xtensa/src/lx6/Toolchain.defs b/arch/xtensa/src/lx6/Toolchain.defs index 25716bc290..e5a7e444cd 100644 --- a/arch/xtensa/src/lx6/Toolchain.defs +++ b/arch/xtensa/src/lx6/Toolchain.defs @@ -75,7 +75,7 @@ ifeq ($(CONFIG_STACK_CANARIES),y) ARCHOPTIMIZATION += -fstack-protector-all endif -ifeq ($(CONFIG_ARCH_COVERAGE),y) +ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y) ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage endif diff --git a/arch/xtensa/src/lx7/Toolchain.defs b/arch/xtensa/src/lx7/Toolchain.defs index c20bdcebd4..5ff6a0dc1b 100644 --- a/arch/xtensa/src/lx7/Toolchain.defs +++ b/arch/xtensa/src/lx7/Toolchain.defs @@ -75,7 +75,7 @@ ifeq ($(CONFIG_STACK_CANARIES),y) ARCHOPTIMIZATION += -fstack-protector-all endif -ifeq ($(CONFIG_ARCH_COVERAGE),y) +ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y) ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage endif diff --git a/boards/sim/sim/sim/scripts/Make.defs b/boards/sim/sim/sim/scripts/Make.defs index fcd627f261..af6e6054a0 100644 --- a/boards/sim/sim/sim/scripts/Make.defs +++ b/boards/sim/sim/sim/scripts/Make.defs @@ -67,7 +67,7 @@ ifeq ($(CONFIG_STACK_CANARIES),y) ARCHOPTIMIZATION += -fstack-protector-all endif -ifeq ($(CONFIG_ARCH_COVERAGE),y) +ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y) ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage endif