This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 034af29aabef65d4d6502add49f1f52ffed07532
Author: yinshengkai <[email protected]>
AuthorDate: Tue Apr 9 18:25:38 2024 +0800

    arch: adjust gcov configuration name
    
    Signed-off-by: yinshengkai <[email protected]>
---
 arch/Kconfig                               | 19 -------------------
 arch/arm/src/common/Toolchain.defs         |  6 +-----
 arch/arm64/src/Toolchain.defs              |  6 +-----
 arch/arm64/src/cmake/Toolchain.cmake       |  4 ----
 arch/arm64/src/cmake/platform.cmake        |  2 +-
 arch/risc-v/src/cmake/Toolchain.cmake      |  2 +-
 arch/risc-v/src/cmake/platform.cmake       |  2 +-
 arch/risc-v/src/common/Toolchain.defs      |  6 +-----
 arch/sim/Kconfig                           |  8 ++++++++
 arch/sim/src/Makefile                      |  2 +-
 arch/sim/src/cmake/Toolchain.cmake         |  2 +-
 arch/sim/src/sim/CMakeLists.txt            |  2 +-
 arch/sim/src/sim/posix/sim_hostmisc.c      |  4 ++--
 arch/x86_64/src/cmake/Toolchain.cmake      |  2 +-
 arch/x86_64/src/cmake/platform.cmake       |  2 +-
 arch/xtensa/src/lx6/Toolchain.defs         |  6 +-----
 arch/xtensa/src/lx7/Toolchain.defs         |  6 +-----
 boards/sim/sim/sim/configs/kasan/defconfig |  2 +-
 boards/sim/sim/sim/scripts/Make.defs       |  2 +-
 sched/Kconfig                              | 12 ++++++++++++
 tools/Config.mk                            |  2 +-
 21 files changed, 38 insertions(+), 61 deletions(-)

diff --git a/arch/Kconfig b/arch/Kconfig
index 9237150062..746b97c1ae 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -311,25 +311,6 @@ config ARCH_SIZET_LONG
                C++ library routines because the NuttX size_t might not have
                the same underlying type as your toolchain's size_t.
 
-config ARCH_COVERAGE
-       bool "Enable code coverage analysis"
-       select HAVE_CXXINITIALIZE
-       default n
-       ---help---
-               Generate code coverage
-
-config ARCH_COVERAGE_ALL
-       bool "Enable code coverage for the entire image"
-       depends on ARCH_COVERAGE
-       default n
-       ---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.
-
 config ARCH_INSTRUMENT_ALL
        bool "Instrument All"
        default n
diff --git a/arch/arm/src/common/Toolchain.defs 
b/arch/arm/src/common/Toolchain.defs
index 69fd68dcdc..03f7b6bce0 100644
--- a/arch/arm/src/common/Toolchain.defs
+++ b/arch/arm/src/common/Toolchain.defs
@@ -72,10 +72,6 @@ ifneq ($(CONFIG_STACK_USAGE_WARNING),0)
   ARCHOPTIMIZATION += -Wstack-usage=$(CONFIG_STACK_USAGE_WARNING)
 endif
 
-ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y)
-  ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage
-endif
-
 ifeq ($(CONFIG_MM_UBSAN_ALL),y)
   ARCHOPTIMIZATION += $(CONFIG_MM_UBSAN_OPTION)
 endif
@@ -491,7 +487,7 @@ ifeq ($(CONFIG_LIBSUPCXX),y)
   EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) 
--print-file-name=libsupc++.a))
 endif
 
-ifeq ($(CONFIG_ARCH_COVERAGE),y)
+ifeq ($(CONFIG_SCHED_GCOV),y)
   EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) 
--print-file-name=libgcov.a))
 endif
 
diff --git a/arch/arm64/src/Toolchain.defs b/arch/arm64/src/Toolchain.defs
index b8917db48a..b785e1d403 100644
--- a/arch/arm64/src/Toolchain.defs
+++ b/arch/arm64/src/Toolchain.defs
@@ -66,10 +66,6 @@ ifeq ($(CONFIG_STACK_CANARIES),y)
   ARCHOPTIMIZATION += -fstack-protector-all
 endif
 
-ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y)
-  ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage
-endif
-
 ifeq ($(CONFIG_MM_UBSAN_ALL),y)
   ARCHOPTIMIZATION += $(CONFIG_MM_UBSAN_OPTION)
 endif
@@ -196,7 +192,7 @@ ifeq ($(CONFIG_LIBSUPCXX),y)
   EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) 
--print-file-name=libsupc++.a))
 endif
 
-ifeq ($(CONFIG_ARCH_COVERAGE),y)
+ifeq ($(CONFIG_SCHED_GCOV),y)
   EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) 
--print-file-name=libgcov.a))
 endif
 
diff --git a/arch/arm64/src/cmake/Toolchain.cmake 
b/arch/arm64/src/cmake/Toolchain.cmake
index 38113dba40..c1f08d46e3 100644
--- a/arch/arm64/src/cmake/Toolchain.cmake
+++ b/arch/arm64/src/cmake/Toolchain.cmake
@@ -107,10 +107,6 @@ if(CONFIG_STACK_CANARIES)
   add_compile_options(-fstack-protector-all)
 endif()
 
-if(CONFIG_ARCH_COVERAGE_ALL)
-  add_compile_options(-fprofile-generate -ftest-coverage)
-endif()
-
 if(CONFIG_MM_UBSAN_ALL)
   add_compile_options(${CONFIG_MM_UBSAN_OPTION})
 endif()
diff --git a/arch/arm64/src/cmake/platform.cmake 
b/arch/arm64/src/cmake/platform.cmake
index 0f12b7ffc0..71795cda38 100644
--- a/arch/arm64/src/cmake/platform.cmake
+++ b/arch/arm64/src/cmake/platform.cmake
@@ -56,7 +56,7 @@ if(CONFIG_LIBSUPCXX)
     OUTPUT_VARIABLE extra_library)
   list(APPEND EXTRA_LIB ${extra_library})
 endif()
-if(CONFIG_ARCH_COVERAGE)
+if(CONFIG_SCHED_GCOV)
   execute_process(
     COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} ${NUTTX_EXTRA_FLAGS}
             --print-file-name=libgcov.a
diff --git a/arch/risc-v/src/cmake/Toolchain.cmake 
b/arch/risc-v/src/cmake/Toolchain.cmake
index a409c1097c..caac1972ae 100644
--- a/arch/risc-v/src/cmake/Toolchain.cmake
+++ b/arch/risc-v/src/cmake/Toolchain.cmake
@@ -158,7 +158,7 @@ if(${CONFIG_STACK_USAGE_WARNING})
   endif()
 endif()
 
-if(CONFIG_ARCH_COVERAGE)
+if(CONFIG_SCHED_GCOV)
   add_compile_options(-fprofile-generate -ftest-coverage)
 endif()
 
diff --git a/arch/risc-v/src/cmake/platform.cmake 
b/arch/risc-v/src/cmake/platform.cmake
index daaad0ae05..df38ed77d1 100644
--- a/arch/risc-v/src/cmake/platform.cmake
+++ b/arch/risc-v/src/cmake/platform.cmake
@@ -61,7 +61,7 @@ if(CONFIG_LIBSUPCXX)
   list(APPEND EXTRA_LIB ${extra_library})
 endif()
 
-if(CONFIG_ARCH_COVERAGE)
+if(CONFIG_SCHED_GCOV)
   execute_process(
     COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAG_ARGS} ${NUTTX_EXTRA_FLAGS}
             --print-file-name=libgcov.a
diff --git a/arch/risc-v/src/common/Toolchain.defs 
b/arch/risc-v/src/common/Toolchain.defs
index c91183d8f7..5a67042a56 100644
--- a/arch/risc-v/src/common/Toolchain.defs
+++ b/arch/risc-v/src/common/Toolchain.defs
@@ -81,10 +81,6 @@ ifneq ($(CONFIG_STACK_USAGE_WARNING),0)
   ARCHOPTIMIZATION += -Wstack-usage=$(CONFIG_STACK_USAGE_WARNING)
 endif
 
-ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y)
-  ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage
-endif
-
 ARCHCFLAGS += -fno-common
 ARCHCXXFLAGS += -fno-common
 
@@ -400,7 +396,7 @@ ifeq ($(CONFIG_LIBSUPCXX),y)
   EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) 
--print-file-name=libsupc++.a))
 endif
 
-ifeq ($(CONFIG_ARCH_COVERAGE),y)
+ifeq ($(CONFIG_SCHED_GCOV),y)
   EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) 
--print-file-name=libgcov.a))
 endif
 
diff --git a/arch/sim/Kconfig b/arch/sim/Kconfig
index 90eba49a7b..78ca9ac7db 100644
--- a/arch/sim/Kconfig
+++ b/arch/sim/Kconfig
@@ -90,6 +90,14 @@ config SIM_UBSAN_DUMMY
        ---help---
                Keep SIM_UBSAN compile time but disable runtime actions.
 
+config SIM_GCOV_ALL
+       bool "Enable code coverage for the entire image"
+       depends on COVERAGE
+       default n
+       ---help---
+               This option activates code coverage instrumentation for the
+               entire image.
+
 choice
        prompt "X64_64 ABI"
        default SIM_X8664_SYSTEMV if HOST_LINUX
diff --git a/arch/sim/src/Makefile b/arch/sim/src/Makefile
index 2f25984ed4..c466dc18c8 100644
--- a/arch/sim/src/Makefile
+++ b/arch/sim/src/Makefile
@@ -140,7 +140,7 @@ ifeq ($(CONFIG_LIBM_TOOLCHAIN),y)
   STDLIBS += -lm
 endif
 
-ifeq ($(CONFIG_ARCH_COVERAGE),y)
+ifeq ($(CONFIG_SCHED_GCOV),y)
   STDLIBS += -lgcov
 endif
 
diff --git a/arch/sim/src/cmake/Toolchain.cmake 
b/arch/sim/src/cmake/Toolchain.cmake
index 024168d4e2..a480c004e7 100644
--- a/arch/sim/src/cmake/Toolchain.cmake
+++ b/arch/sim/src/cmake/Toolchain.cmake
@@ -88,7 +88,7 @@ if(CONFIG_STACK_USAGE_WARNING)
   add_compile_options(-Wstack-usage=${CONFIG_STACK_USAGE_WARNING})
 endif()
 
-if(CONFIG_SIM_GCOV_ALL)
+if(CONFIG_SCHED_GCOV)
   add_compile_options(-fprofile-generate -ftest-coverage)
 endif()
 
diff --git a/arch/sim/src/sim/CMakeLists.txt b/arch/sim/src/sim/CMakeLists.txt
index a4e114b147..f6fbc72489 100644
--- a/arch/sim/src/sim/CMakeLists.txt
+++ b/arch/sim/src/sim/CMakeLists.txt
@@ -27,7 +27,7 @@ set(HOSTSRCS)
 set(HOST_INCLUDE_DIRS)
 set(STDLIBS pthread)
 
-if(CONFIG_ARCH_COVERAGE)
+if(CONFIG_SCHED_GCOV)
   list(APPEND STDLIBS gcov)
 endif()
 
diff --git a/arch/sim/src/sim/posix/sim_hostmisc.c 
b/arch/sim/src/sim/posix/sim_hostmisc.c
index a8b3f2584e..44f3f19c87 100644
--- a/arch/sim/src/sim/posix/sim_hostmisc.c
+++ b/arch/sim/src/sim/posix/sim_hostmisc.c
@@ -50,7 +50,7 @@
  * Public Function Prototypes
  ****************************************************************************/
 
-#ifdef CONFIG_ARCH_COVERAGE
+#ifdef CONFIG_SCHED_GCOV
 void __gcov_dump(void);
 #endif
 
@@ -72,7 +72,7 @@ extern int backtrace(void **array, int size);
 
 void host_abort(int status)
 {
-#ifdef CONFIG_ARCH_COVERAGE
+#ifdef CONFIG_SCHED_GCOV
   /* Dump gcov data. */
 
   host_uninterruptible_no_return(__gcov_dump);
diff --git a/arch/x86_64/src/cmake/Toolchain.cmake 
b/arch/x86_64/src/cmake/Toolchain.cmake
index 6b38198c80..8885f3f054 100644
--- a/arch/x86_64/src/cmake/Toolchain.cmake
+++ b/arch/x86_64/src/cmake/Toolchain.cmake
@@ -75,7 +75,7 @@ if(${CONFIG_STACK_USAGE_WARNING})
   endif()
 endif()
 
-if(CONFIG_ARCH_COVERAGE)
+if(CONFIG_SCHED_GCOV)
   add_compile_options(-fprofile-generate -ftest-coverage)
 endif()
 
diff --git a/arch/x86_64/src/cmake/platform.cmake 
b/arch/x86_64/src/cmake/platform.cmake
index a160c03b35..7ad51311a4 100644
--- a/arch/x86_64/src/cmake/platform.cmake
+++ b/arch/x86_64/src/cmake/platform.cmake
@@ -59,7 +59,7 @@ if(CONFIG_LIBSUPCXX)
   list(APPEND EXTRA_LIB ${extra_library})
 endif()
 
-if(CONFIG_ARCH_COVERAGE)
+if(CONFIG_SCHED_GCOV)
   execute_process(
     COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAGS} ${NUTTX_EXTRA_FLAGS}
             --print-file-name=libgcov.a
diff --git a/arch/xtensa/src/lx6/Toolchain.defs 
b/arch/xtensa/src/lx6/Toolchain.defs
index c1e9d6b62e..9f8eb9620e 100644
--- a/arch/xtensa/src/lx6/Toolchain.defs
+++ b/arch/xtensa/src/lx6/Toolchain.defs
@@ -91,10 +91,6 @@ ifneq ($(CONFIG_STACK_USAGE_WARNING),0)
   ARCHOPTIMIZATION += -Wstack-usage=$(CONFIG_STACK_USAGE_WARNING)
 endif
 
-ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y)
-  ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage
-endif
-
 # Instrumentation options
 
 ifeq ($(CONFIG_ARCH_INSTRUMENT_ALL),y)
@@ -195,7 +191,7 @@ ifeq ($(CONFIG_LIBSUPCXX),y)
   EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) 
--print-file-name=libsupc++.a))
 endif
 
-ifeq ($(CONFIG_ARCH_COVERAGE),y)
+ifeq ($(CONFIG_SCHED_GCOV),y)
   EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) 
--print-file-name=libgcov.a))
 endif
 
diff --git a/arch/xtensa/src/lx7/Toolchain.defs 
b/arch/xtensa/src/lx7/Toolchain.defs
index caad6d2811..071ccd9d05 100644
--- a/arch/xtensa/src/lx7/Toolchain.defs
+++ b/arch/xtensa/src/lx7/Toolchain.defs
@@ -95,10 +95,6 @@ ifneq ($(CONFIG_STACK_USAGE_WARNING),0)
   ARCHOPTIMIZATION += -Wstack-usage=$(CONFIG_STACK_USAGE_WARNING)
 endif
 
-ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y)
-  ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage
-endif
-
 # Instrumentation options
 
 ifeq ($(CONFIG_ARCH_INSTRUMENT_ALL),y)
@@ -199,7 +195,7 @@ ifeq ($(CONFIG_LIBSUPCXX),y)
   EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) 
--print-file-name=libsupc++.a))
 endif
 
-ifeq ($(CONFIG_ARCH_COVERAGE),y)
+ifeq ($(CONFIG_SCHED_GCOV),y)
   EXTRA_LIBS += $(wildcard $(shell $(CC) $(ARCHCPUFLAGS) 
--print-file-name=libgcov.a))
 endif
 
diff --git a/boards/sim/sim/sim/configs/kasan/defconfig 
b/boards/sim/sim/sim/configs/kasan/defconfig
index ea9b255517..34b43ed9a2 100644
--- a/boards/sim/sim/sim/configs/kasan/defconfig
+++ b/boards/sim/sim/sim/configs/kasan/defconfig
@@ -9,7 +9,6 @@ CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
 CONFIG_ARCH_CHIP="sim"
-CONFIG_ARCH_COVERAGE=y
 CONFIG_ARCH_SIM=y
 CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BUILTIN=y
@@ -39,6 +38,7 @@ CONFIG_PTHREAD_MUTEX_TYPES=y
 CONFIG_PTHREAD_MUTEX_UNSAFE=y
 CONFIG_READLINE_TABCOMPLETION=y
 CONFIG_RR_INTERVAL=10
+CONFIG_SCHED_GCOV=y
 CONFIG_SCHED_HAVE_PARENT=y
 CONFIG_SCHED_LPWORK=y
 CONFIG_SCHED_WAITPID=y
diff --git a/boards/sim/sim/sim/scripts/Make.defs 
b/boards/sim/sim/sim/scripts/Make.defs
index 08a20a7b2c..c38a6c60ea 100644
--- a/boards/sim/sim/sim/scripts/Make.defs
+++ b/boards/sim/sim/sim/scripts/Make.defs
@@ -72,7 +72,7 @@ ifneq ($(CONFIG_STACK_USAGE_WARNING),0)
   ARCHOPTIMIZATION += -Wstack-usage=$(CONFIG_STACK_USAGE_WARNING)
 endif
 
-ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y)
+ifeq ($(CONFIG_SIM_GCOV_ALL),y)
   ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage
 endif
 
diff --git a/sched/Kconfig b/sched/Kconfig
index 38dfe43443..b765ef6856 100644
--- a/sched/Kconfig
+++ b/sched/Kconfig
@@ -1341,6 +1341,18 @@ config SCHED_STACK_RECORD
                to disable.Through instrumentation, record the backtrace at
                the deepest point in the stack.
 
+config SCHED_GCOV
+       bool "Enable GCOV support"
+       select HAVE_CXXINITIALIZE
+       default n
+       ---help---
+               Enable GCOV support for code coverage analysis.
+               After turning on this option, code coverage can be analyzed.
+               If this option is enabled, image size and performance will be
+               significantly reduced. Before use, you need to add the
+               "-fprofile-generate -ftest-coverage" compilation parameters
+               to the file to be analyzed.
+
 endmenu
 
 menu "Files and I/O"
diff --git a/tools/Config.mk b/tools/Config.mk
index 584bab754f..2637786f0e 100644
--- a/tools/Config.mk
+++ b/tools/Config.mk
@@ -659,7 +659,7 @@ endef
 
 # CLEAN - Default clean target
 
-ifeq ($(CONFIG_ARCH_COVERAGE),y)
+ifeq ($(CONFIG_SCHED_GCOV),y)
        EXTRA = *.gcno *.gcda
 endif
 

Reply via email to