Building chromium with clang coverage

I am trying to build a coveage build for chromium and run into the following issue:

“`
../../third_party/libFuzzer/src/FuzzerInterceptors.cpp:151:25: error: conflicting types for ‘bcmp’
  151 | ATTRIBUTE_INTERFACE int bcmp(const char *s1, const char *s2, size_t n) {
      |                         ^
gen/build/modules/linux/../../../../../../build/linux/debian_bullseye_amd64-sysroot/usr/include/strings.h:34:12: note: previous
      declaration is here
   34 | extern int bcmp (const void *__s1, const void *__s2, size_t __n)
      |            ^
../../third_party/libFuzzer/src/FuzzerInterceptors.cpp:197:27: error: functions that differ only in their return type cannot be
      overloaded
  197 | ATTRIBUTE_INTERFACE char *strstr(const char *s1, const char *s2) {
      |                     ~~~~~~^
../../build/linux/debian_bullseye_amd64-sysroot/usr/include/string.h:323:1: note: previous definition is here
  322 | __extern_always_inline const char *
      |                              ~~~~~~
  323 | strstr (const char *__haystack, const char *__needle) __THROW
      | ^
../../third_party/libFuzzer/src/FuzzerInterceptors.cpp:205:27: error: functions that differ only in their return type cannot be
      overloaded
  205 | ATTRIBUTE_INTERFACE char *strcasestr(const char *s1, const char *s2) {
      |                     ~~~~~~^
../../build/linux/debian_bullseye_amd64-sysroot/usr/include/string.h:356:26: note: previous declaration is here
  356 | extern “C++” const char *strcasestr (const char *__haystack,
“`

Event after fixing the `FuzzerInterceptors.cpp` file, there are stil errors that persist. Below is my compilation approach:

“`
gn gen out/coverage –args=”’
dcheck_always_on = false

is_debug = false
use_clang_coverage = true
is_component_build = false
optimize_for_fuzzing = false
use_remoteexec = false
is_asan = false
use_libfuzzer = true
symbol_level = 2”’

autoninja -C out/coverage
“`

If anyone has a fix, do let me know

Read more here: Source link