You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by pk...@apache.org on 2022/08/23 15:51:00 UTC
[incubator-nuttx] 02/03: arch: Add ARCH_COVERAGE_ALL option
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 <xi...@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 <xi...@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