18cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/** 28cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @file symbol.cpp 38cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * Symbol containers 48cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 58cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Copyright 2002, 2004 OProfile authors 68cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Read the file COPYING 78cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 88cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author Philippe Elie 98cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author John Levon 108cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd */ 118cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 128cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 138cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include "symbol.h" 148cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include "locate_images.h" 158cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 168cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include <iostream> 178cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include <string> 188cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 198cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddusing namespace std; 208cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 218cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddcolumn_flags symbol_entry::output_hint(column_flags fl) const 228cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd{ 238cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd if (app_name != image_name) 248cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd fl = column_flags(fl | cf_image_name); 258cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 268cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd // FIXME: see comment in symbol.h: why we don't use sample.vma + size ? 278cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd if (sample.vma & ~0xffffffffLLU) 288cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd fl = column_flags(fl | cf_64bit_vma); 298cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 308cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd return fl; 318cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd} 328cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 338cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 348cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 358cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddbool has_sample_counts(count_array_t const & counts, size_t lo, size_t hi) 368cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd{ 378cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd for (size_t i = lo; i <= hi; ++i) 388cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd if (counts[i] != 0) 398cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd return true; 408cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd return false; 418cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd} 428cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 438cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 448cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddstring const & get_image_name(image_name_id id, 458cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd image_name_storage::image_name_type type, 468cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd extra_images const & extra) 478cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd{ 488cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd return image_names.get_name(id, type, extra); 498cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd} 50