Home | History | Annotate | Download | only in sanitizer_common

Lines Matching full:info

71   res->info.FillModuleInfo(module_name, module_offset);
82 bool Symbolizer::SymbolizeData(uptr addr, DataInfo *info) {
88 info->Clear();
89 info->module = internal_strdup(module_name);
90 info->module_offset = module_offset;
94 if (tool->SymbolizeData(addr, info)) {
239 // Windows, so extract tokens from the right hand side first. The column info is
241 static const char *ParseFileLineInfo(AddressInfo *info, const char *str) {
255 info->line = internal_atoll(last_colon + 1);
256 info->column = line_or_column;
259 // Otherwise, we have line info but no column info.
260 info->line = line_or_column;
261 info->column = 0;
263 ExtractToken(file_line_info, "", &info->file);
290 cur = SymbolizedStack::New(res->info.address);
291 cur->info.FillModuleInfo(res->info.module, res->info.module_offset);
296 AddressInfo *info = &cur->info;
297 info->function = function_name;
298 str = ParseFileLineInfo(info, str);
301 // to address info to mark that names are unknown.
302 if (0 == internal_strcmp(info->function, "??")) {
303 InternalFree(info->function);
304 info->function = 0;
306 if (0 == internal_strcmp(info->file, "??")) {
307 InternalFree(info->file);
308 info->file = 0;
317 void ParseSymbolizeDataOutput(const char *str, DataInfo *info) {
318 str = ExtractToken(str, "\n", &info->name);
319 str = ExtractUptr(str, " ", &info->start);
320 str = ExtractUptr(str, "\n", &info->size);
324 if (const char *buf = SendCommand(/*is_data*/ false, stack->info.module,
325 stack->info.module_offset)) {
332 bool LLVMSymbolizer::SymbolizeData(uptr addr, DataInfo *info) {
334 SendCommand(/*is_data*/ true, info->module, info->module_offset)) {
335 ParseSymbolizeDataOutput(buf, info);
336 info->start += (addr - info->module_offset); // Add the base address.