When testing a merge of compiler-rt r304709 into gcc trunk on x86-64-pc-linux-gnu,
I ran into two compile errors:
/vol/gcc/src/hg/trunk/solaris-asan/libsanitizer/sanitizer_common/sanitizer_symbolizer_libbacktrace.cc: In member function 'sanitizer::AddressInfo* sanitizer::{anonymous}::SymbolizeCodeCallbackArg::get_new_frame(uintptr_t)':
/vol/gcc/src/hg/trunk/solaris-asan/libsanitizer/sanitizer_common/sanitizer_symbolizer_libbacktrace.cc:96:73: error: no matching function for call to 'sanitizer::AddressInfo::FillModuleInfo(char*&, sanitizer::uptr&)'
info->FillModuleInfo(first->info.module, first->info.module_offset); ^
In file included from /vol/gcc/src/hg/trunk/solaris-asan/libsanitizer/sanitizer_common/sanitizer_symbolizer_libbacktrace.cc:16:0:
/vol/gcc/src/hg/trunk/solaris-asan/libsanitizer/sanitizer_common/sanitizer_symbolizer.h:45:8: note: candidate: 'void sanitizer::AddressInfo::FillModuleInfo(const char*, sanitizer::uptr, __sanitizer::ModuleArch)'
void FillModuleInfo(const char *mod_name, uptr mod_offset, ModuleArch arch); ^~~~~~~~~~~~~~
/vol/gcc/src/hg/trunk/solaris-asan/libsanitizer/sanitizer_common/sanitizer_symbolizer.h:45:8: note: candidate expects 3 arguments, 2 provided
The call to FileModuleInfo hasn't been updated to the new 3-arg form since
sanitizer_symbolizer_libbacktrace.cc is only used inside gcc since
SANITIZER_LIBBACKTRACE is 0 otherwise.
/vol/gcc/src/hg/trunk/solaris-asan/libsanitizer/sanitizer_common/sanitizer_win_weak_interception.cc:13:10: fatal error: sanitizer_common/sanitizer_platform.h: No such file or directory
#include "sanitizer_common/sanitizer_platform.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
All other files in sanitizer_common (with the exception of sanitizer_malloc_mac.inc
which is special) include sanitizer_platform.h without directory name.