diff options
Diffstat (limited to 'gdb/buildsym.h')
-rw-r--r-- | gdb/buildsym.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gdb/buildsym.h b/gdb/buildsym.h index 5cf7548..feb22a1 100644 --- a/gdb/buildsym.h +++ b/gdb/buildsym.h @@ -80,6 +80,16 @@ EXTERN unsigned char processing_gcc_compilation; EXTERN unsigned char processing_acc_compilation; +/* elz: added this flag to know when a block is compiled with HP + compilers (cc, aCC). This is necessary because of the macro + COERCE_FLOAT_TO_DOUBLE defined in tm_hppa.h, which causes + a coercion of float to double to always occur in parameter passing + for a function called by gdb (see the function value_arg_coerce in + valops.c). This is necessary only if the target + was compiled with gcc, not with HP compilers or with g++ */ + +EXTERN unsigned char processing_hp_compilation; + /* Count symbols as they are processed, for error messages. */ EXTERN unsigned int symnum; @@ -105,6 +115,8 @@ EXTERN struct pending *global_symbols; /* global functions and variables */ EXTERN struct pending *local_symbols; /* everything local to lexic context */ +EXTERN struct pending *param_symbols; /* func params local to lexic context */ + /* Stack representing unclosed lexical contexts (that will become blocks, eventually). */ @@ -114,6 +126,10 @@ struct context_stack struct pending *locals; + /* Pending func params at the time we entered */ + + struct pending *params; + /* Pointer into blocklist as of entry */ struct pending_block *old_blocks; @@ -275,6 +291,9 @@ record_pending_block PARAMS ((struct objfile *, struct block *, extern void record_debugformat PARAMS ((char *)); +extern void +merge_symbol_lists PARAMS ((struct pending **, struct pending **)); + #undef EXTERN #endif /* defined (BUILDSYM_H) */ |