From 82d703debc810e29cade858e42b65c67be52982f Mon Sep 17 00:00:00 2001 From: Wentong Wu Date: Thu, 30 May 2019 22:28:09 +0800 Subject: [PATCH] testsuite: coverage: port GCOV linker code to CMake for X86 port GCOV linker code to CMake for X86 platfrom, from linker.ld to coverage_ram.ld. Fixes: #16501. Signed-off-by: Wentong Wu --- include/arch/x86/linker.ld | 15 --------------- subsys/testsuite/coverage/coverage_ram.ld | 19 ++++++++++++++++++- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/include/arch/x86/linker.ld b/include/arch/x86/linker.ld index e32fb4f2137..e2e3765e6fd 100644 --- a/include/arch/x86/linker.ld +++ b/include/arch/x86/linker.ld @@ -196,21 +196,6 @@ SECTIONS /* RAMABLE_REGION */ GROUP_START(RAMABLE_REGION) -#ifdef CONFIG_COVERAGE_GCOV - SECTION_PROLOGUE(_GCOV_BSS_SECTION_NAME, (NOLOAD),) - { - MMU_PAGE_ALIGN - __gcov_bss_start = .; - *(".bss.__gcov0.*"); - . = ALIGN(4); - MMU_PAGE_ALIGN - __gcov_bss_end = .; - }GROUP_DATA_LINK_IN(RAMABLE_REGION, RAMABLE_REGION) - - __gcov_bss_num_words = ((__gcov_bss_end - __gcov_bss_start) >> 2); - __gcov_bss_size = __gcov_bss_end - __gcov_bss_start; -#endif /* CONFIG_COVERAGE_GCOV */ - /* Located in generated directory. This file is populated by the * zephyr_linker_sources() Cmake function. */ diff --git a/subsys/testsuite/coverage/coverage_ram.ld b/subsys/testsuite/coverage/coverage_ram.ld index 15efa2c22d2..f4bab4df680 100644 --- a/subsys/testsuite/coverage/coverage_ram.ld +++ b/subsys/testsuite/coverage/coverage_ram.ld @@ -6,6 +6,7 @@ /* Copied from linker.ld */ +#ifdef CONFIG_ARM SECTION_DATA_PROLOGUE(_GCOV_BSS_SECTION_NAME,(NOLOAD),) { #ifdef CONFIG_USERSPACE @@ -27,4 +28,20 @@ SECTION_DATA_PROLOGUE(_GCOV_BSS_SECTION_NAME,(NOLOAD),) } GROUP_LINK_IN(RAMABLE_REGION) __gcov_bss_num_words = ((__gcov_bss_end - __gcov_bss_start) >> 2); -__gcov_bss_size = __gcov_bss_end - __gcov_bss_start; \ No newline at end of file +__gcov_bss_size = __gcov_bss_end - __gcov_bss_start; +#endif + +#ifdef CONFIG_X86 +SECTION_PROLOGUE(_GCOV_BSS_SECTION_NAME, (NOLOAD),) +{ + MMU_PAGE_ALIGN + __gcov_bss_start = .; + *(".bss.__gcov0.*"); + . = ALIGN(4); + MMU_PAGE_ALIGN + __gcov_bss_end = .; +}GROUP_DATA_LINK_IN(RAMABLE_REGION, RAMABLE_REGION) + +__gcov_bss_num_words = ((__gcov_bss_end - __gcov_bss_start) >> 2); +__gcov_bss_size = __gcov_bss_end - __gcov_bss_start; +#endif