Skip to content

Commit

Permalink
clang/gcov: Add a way to directly dump memory address
Browse files Browse the repository at this point in the history
Signed-off-by: wangmingrong1 <[email protected]>
  • Loading branch information
W-M-R authored and xiaoxiang781216 committed Nov 25, 2024
1 parent a73217d commit 47e33c6
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
14 changes: 14 additions & 0 deletions include/gcov.h
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,20 @@ extern void __gcov_filename_to_gcfn(FAR const char *filename,
FAR void *),
FAR void *arg);

/****************************************************************************
* Name: __gcov_dump_to_memory
*
* Description:
* Dump gcov data directly to memory
*
* Parameters:
* ptr - Memory Address
* size - Memory block size
*
****************************************************************************/

size_t __gcov_dump_to_memory(FAR void *ptr, size_t size);

#undef EXTERN
#ifdef __cplusplus
}
Expand Down
9 changes: 9 additions & 0 deletions libs/libbuiltin/compiler-rt/coverage.c
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,15 @@ void __gcov_dump(void)
_NX_CLOSE(fd);
}

size_t __gcov_dump_to_memory(FAR void *ptr, size_t size)
{
struct lib_memoutstream_s stream;

lib_memoutstream(&stream, ptr, size);

return __llvm_profile_dump(&stream.common);
}

void __gcov_reset(void)
{
}

0 comments on commit 47e33c6

Please sign in to comment.