#4196 closed enhancement (fixed)
Improve gcov support provided by GCC for RTEMS
Reported by: | Sebastian Huber | Owned by: | Sebastian Huber |
---|---|---|---|
Priority: | normal | Milestone: | 6.1 |
Component: | tool/gcc | Version: | 6 |
Severity: | normal | Keywords: | qualification |
Cc: | Blocked By: | ||
Blocking: | #4670 |
Description (last modified by Sebastian Huber)
If we want to use gcov in RTEMS to get code coverage in all system states, then we need some tweaks in GCC:
https://gcc.gnu.org/pipermail/gcc/2020-November/234164.html
The linker set based gcov information registration is already included in GCC:
https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fprofile-info-section
There is a discussion about how the gcov information can be transferred from the embedded system to the host:
https://gcc.gnu.org/pipermail/gcc-patches/2020-November/559342.html
The following patch set was integrated in GCC 13:
https://gcc.gnu.org/pipermail/gcc-patches/2022-April/593536.html
https://gcc.gnu.org/onlinedocs/gcc/Freestanding-Environments.html#Freestanding-Environments
Attachments (13)
Change History (26)
Changed on 12/02/20 at 09:54:29 by Sebastian Huber
Attachment: | 0001-gcov-Add-fprofile-info-section-support.patch added |
---|
comment:1 Changed on 12/02/20 at 10:24:27 by Sebastian Huber <sebastian.huber@…>
comment:2 Changed on 06/18/21 at 09:24:45 by Sebastian Huber
Keywords: | qualification added |
---|
Changed on 07/21/21 at 09:44:53 by Sebastian Huber
Attachment: | 0001-gcov-Fix-use-of-profile-info-section.patch added |
---|
Changed on 07/21/21 at 09:45:10 by Sebastian Huber
Attachment: | 0002-gcov-Add-__gcov_info_to_gdca.patch added |
---|
Changed on 07/21/21 at 13:33:53 by Sebastian Huber
Attachment: | 0001-Remove-wrong-bail-out-in-prune_topn_counter.patch added |
---|
comment:3 Changed on 08/06/21 at 05:33:18 by Sebastian Huber
The __gcov_info_to_gcda()
function is now integrated in GCC:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=9124bbe1857f0d3a3015d6461d5f8d04f07cab85
Changed on 08/06/21 at 15:24:11 by Sebastian Huber
Attachment: | 0001-Back-port-__gcov_info_to_gcda-to-GCC-10.patch added |
---|
comment:4 Changed on 08/06/21 at 16:39:49 by Sebastian Huber <sebastian.huber@…>
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:5 Changed on 08/09/21 at 15:21:01 by Sebastian Huber
There are issues with multi-threaded programs:
Changed on 08/09/21 at 15:29:56 by Sebastian Huber
Attachment: | 0001-Back-port-v2-of-__gcov_info_to_gcda-to-GCC-10.patch added |
---|
comment:6 Changed on 08/09/21 at 15:59:04 by Sebastian Huber <sebastian.huber@…>
Changed on 08/09/21 at 18:44:12 by Sebastian Huber
Attachment: | 0001-Back-port-v3-of-__gcov_info_to_gcda-to-GCC-10.patch added |
---|
comment:7 Changed on 08/09/21 at 19:05:23 by Sebastian Huber <sebastian.huber@…>
Changed on 08/30/21 at 08:48:43 by Sebastian Huber
Attachment: | 0001-Back-port-v4-of-__gcov_info_to_gcda-to-GCC-10.patch added |
---|
Changed on 08/30/21 at 12:02:33 by Sebastian Huber
Attachment: | 0001-Back-port-v5-of-__gcov_info_to_gcda-to-GCC-10.patch added |
---|
comment:8 Changed on 09/01/21 at 15:50:46 by Sebastian Huber <sebastian.huber@…>
comment:9 Changed on 05/03/22 at 06:01:44 by Sebastian Huber
Description: | modified (diff) |
---|
Changed on 05/03/22 at 06:13:16 by Sebastian Huber
Attachment: | 0001-Back-port-v1-of-gcov-tool-merge-stream-to-GCC-12.patch added |
---|
comment:10 Changed on 05/04/22 at 05:47:29 by Sebastian Huber <sebastian.huber@…>
Changed on 06/21/22 at 07:15:58 by Sebastian Huber
Attachment: | 0001-Back-port-v6-of-gcov-improvements-to-GCC-10.patch added |
---|
comment:11 Changed on 06/21/22 at 14:16:49 by Sebastian Huber <sebastian.huber@…>
comment:12 Changed on 06/28/22 at 06:38:43 by Sebastian Huber
Blocking: | 4670 added |
---|
Changed on 06/29/22 at 07:19:49 by Sebastian Huber
Attachment: | 0001-Back-port-v7-of-gcov-improvements-to-GCC-10.patch added |
---|
Changed on 06/29/22 at 08:31:28 by Sebastian Huber
Attachment: | 0001-Back-port-v8-of-gcov-improvements-to-GCC-10.patch added |
---|
In 1d9f5d0/rtems-source-builder: