search for: __stop___llvm_prf_data

Displaying 5 results from an estimated 5 matches for "__stop___llvm_prf_data".

2017 Oct 26
1
[PATCH for-next 7/9] coverage: introduce support for llvm profiling
...on; + uint64_t data_size; + uint64_t counters_size; + uint64_t names_size; + uint64_t counters_delta; + uint64_t names_delta; + uint64_t value_kind_last; +}; + +int __llvm_profile_runtime; + +extern struct llvm_profile_data __start___llvm_prf_data; +extern struct llvm_profile_data __stop___llvm_prf_data; +extern uint64_t __start___llvm_prf_cnts; +extern uint64_t __stop___llvm_prf_cnts; +extern char __start___llvm_prf_names; +extern char __stop___llvm_prf_names; + +static void *start_data = &__start___llvm_prf_data; +static void *end_data = &__stop___llvm_prf_data; +static void *start_count...
2017 Oct 26
2
[PATCH for-next 0/9] LLVM coverage support for Xen
Hello, The following patch series enables LLVM coverage support for the Xen hypervisor. This first patches are a re-organization of the gcov support, in order to make the support generic for all coverage technologies. This is mostly a name change from gcov -> cov in several places and files, together with the addition of a Kconfig option in order to enable LLVM coverage. Patch 7 introduces
2018 Mar 13
1
Profiling Support for BareMetal Target
...4.0.1 and compiler-rt 4.0 release 1. I made changes in the LCF to mimic Linux Platform (for linker magic) In data section i have added: __start___llvm_prf_cnts = .; KEEP(*(__llvm_prf_cnts)) __stop___llvm_prf_cnts = .; __start___llvm_prf_data = .; KEEP(*(__llvm_prf_data)) __stop___llvm_prf_data = .; __start___llvm_prf_names = .; KEEP(*(__llvm_prf_names)) __stop___llvm_prf_names = .; __start___llvm_prf_vnds = .; KEEP(*(__llvm_prf_vnds)) __stop___llvm_prf_vnds = .; 2. Since there are not .ctors or atexit available i called the functions lprofSetupValueProfiler and _...
2017 Sep 11
2
Using source-based code coverage on baremetal
...our LD scripts: /* Append the LLVM profiling sections */ . = ALIGN(4); PROVIDE(__start___llvm_prf_cnts = .); *(__llvm_prf_cnts) PROVIDE(__stop___llvm_prf_cnts = .); . = ALIGN(4); PROVIDE(__start___llvm_prf_data = .); *(__llvm_prf_data) PROVIDE(__stop___llvm_prf_data = .); . = ALIGN(4); PROVIDE(__start___llvm_prf_names = .); *(__llvm_prf_names) PROVIDE(__stop___llvm_prf_names = .); . = ALIGN(4); PROVIDE(__start___llvm_prf_vnds = .); *(__llvm_prf_vnds) PROVIDE(__stop___llvm_prf_vnds = .); This removed the need f...
2017 Sep 06
5
Using source-based code coverage on baremetal
Hi all, I think using code coverage on baremetal has come up once or twice on llvmdev, but I don't think anyone has actually written up how the workflow works, or what issues come up.  This description is based on work done together with my colleague Weiming Zhao. By "baremetal" here, I mean an embedded environment without an operating system.  We specifically used a ARM target