aboutsummaryrefslogtreecommitdiff
path: root/gprofng/src/Symbol.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gprofng/src/Symbol.cc')
-rw-r--r--gprofng/src/Symbol.cc14
1 files changed, 3 insertions, 11 deletions
diff --git a/gprofng/src/Symbol.cc b/gprofng/src/Symbol.cc
index 82fe788..8cc578f 100644
--- a/gprofng/src/Symbol.cc
+++ b/gprofng/src/Symbol.cc
@@ -135,13 +135,13 @@ Symbol::sort_by_name (Vector<Symbol *> *syms)
}
Vector<Symbol *> *
-Symbol::find_symbols (Vector<Symbol*> *syms, Vector<Range *> *ranges)
+Symbol::find_symbols (Vector<Symbol*> *syms, Vector<Range *> *ranges,
+ Vector<Symbol *> *symbols)
{
// 'syms' and 'ranges' must already be sorted.
// return symbols matched by 'ranges'
if (VecSize (syms) == 0 || VecSize (ranges) == 0)
return NULL;
- Vector<Symbol *> *symbols = new Vector<Symbol*> ();
// Use binary search to find a suitable index in 'syms'
int ind = 0;
@@ -182,15 +182,7 @@ Symbol::find_symbols (Vector<Symbol*> *syms, Vector<Range *> *ranges)
if (i >= r_sz)
break;
}
- if (DUMP_ELF_SYM)
- {
- syms->dump ( "Symbol::find_symbols: syms");
- symbols->dump ("Symbol::find_symbols: symbols");
- }
- if (symbols->size () != 0)
- return symbols;
- delete symbols;
- return NULL;
+ return symbols;
}
/* Create and append a new function to the 'module'.