aboutsummaryrefslogtreecommitdiff
path: root/gprof/symtab.h
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1995-12-31 06:36:30 +0000
committerJeff Law <law@redhat.com>1995-12-31 06:36:30 +0000
commit64c50fc5db62e96b429cd2f2e166e878569f4a15 (patch)
tree440c0e7c9b11ad2afa68adf0a5b3e1ccb7106ca5 /gprof/symtab.h
parent71128bd7a98889baab8044ccc1138a62371dda4c (diff)
downloadgdb-64c50fc5db62e96b429cd2f2e166e878569f4a15.zip
gdb-64c50fc5db62e96b429cd2f2e166e878569f4a15.tar.gz
gdb-64c50fc5db62e96b429cd2f2e166e878569f4a15.tar.bz2
* gprof.c (long_options): Add "--function-ordering" and
"--file-ordering" options. (usage): Add new options to usage message. (main): Handle new options. * gprof.h (STYLE_FUNCTION_ORDER): Define. (STYLE_FILE_ORDER): Define. (function_mapping_file): Declare. * cg_arcs.c (arcs, numarcs): New globals. (arc_add): Put new arcs into the arc array so the function/file ordering code can examine them. * cg_arcs.h (struct arc): New field "has_been_placed". (arcs, numarcs): Declare new globals. * core.c (symbol_map, symbol_map_count): New globals. (read_function_mappings): New function to read in a function to object map file. (core_init): Call read_function_mappings if a function mapping file exists. (core_create_function_syms): Handle function to object file mappings. * symtab.h (struct sym): New fields "mapped", "has_been_placed", "nuses", "prev". * cg_print.c (cmp_arc_count): New function for sorting arcs. (cmp_fun_nuses): Likewise for functions. (cg_print_function_ordering): New function to print a suggested function ordering. (cg_print_file_ordering): Likewise for ordering .o files. (order_and_dump_functions_by_arcs): Helper function for function and object file ordering code. Gprof changes for mentor vm work.
Diffstat (limited to 'gprof/symtab.h')
-rw-r--r--gprof/symtab.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/gprof/symtab.h b/gprof/symtab.h
index 07c7751..304e6b5 100644
--- a/gprof/symtab.h
+++ b/gprof/symtab.h
@@ -36,9 +36,14 @@ typedef struct sym
int line_num; /* source line number */
unsigned int is_func:1, /* is this a function entry point? */
is_static:1, /* is this a local (static) symbol? */
- is_bb_head:1; /* is this the head of a basic-blk? */
+ is_bb_head:1, /* is this the head of a basic-blk? */
+ mapped:1, /* this symbol was mapped to another name */
+ has_been_placed:1; /* have we placed this symbol? */
int ncalls; /* how many times executed */
+ int nuses; /* how many times this symbol appears in
+ a particular context */
struct sym *next; /* for building chains of syms */
+ struct sym *prev; /* for building chains of syms */
/* profile-specific information: */