2 * We adjust linker script modification to place all of the stuff that needs to
3 * persist across fuzzing runs into a contiguous section of memory. Then, it is
4 * easy to re-map the counter-related memory as shared.
9 .data.fuzz_start : ALIGN(4K)
11 __FUZZ_COUNTERS_START = .;
12 __start___sancov_cntrs = .;
14 __stop___sancov_cntrs = .;
16 /* Lowest stack counter */
17 *(__sancov_lowest_stack);
22 * Coverage counters. They're not necessary for fuzzing, but are useful
23 * for analyzing the fuzzing performance
25 __start___llvm_prf_cnts = .;
27 __stop___llvm_prf_cnts = .;
29 /* Internal Libfuzzer TracePC object which contains the ValueProfileMap */
30 FuzzerTracePC*(.bss*);
32 .data.fuzz_end : ALIGN(4K)
34 __FUZZ_COUNTERS_END = .;
38 * Don't overwrite the SECTIONS in the default linker script. Instead insert the
39 * above into the default script