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