diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-10-12 20:02:11 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1993-10-12 20:02:11 +0000 |
commit | 9438d64262d8f6faebebf9f32d0229a5d60e5b6b (patch) | |
tree | f80672980aa09c32ff6e6ee5625928de526d0f02 /gdb/xcoffread.c | |
parent | 49d607d260f41a6c68f2ffbae019d4e0ff38b734 (diff) | |
download | gdb-9438d64262d8f6faebebf9f32d0229a5d60e5b6b.zip gdb-9438d64262d8f6faebebf9f32d0229a5d60e5b6b.tar.gz gdb-9438d64262d8f6faebebf9f32d0229a5d60e5b6b.tar.bz2 |
* stabsread.h, stabsread.c, dbxread.c (common_block*, copy_pending):
Move common block handling from dbxread.c to stabsread.c.
Use the name from the BCOMM instead of the ECOMM.
Allocate things on the symbol_obstack.
* xcoffread.c (process_xcoff_symbol): Process C_BCOMM, C_ECOMM,
and C_ECOML. On unrecognized storage classes, go ahead and call
define_symbol (after the complaint).
* dbxread.c (process_one_symbol): Don't relocate 'S' symbols by
the text offset.
Diffstat (limited to 'gdb/xcoffread.c')
-rw-r--r-- | gdb/xcoffread.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c index c6a138a..3ecdf18 100644 --- a/gdb/xcoffread.c +++ b/gdb/xcoffread.c @@ -1598,19 +1598,26 @@ process_xcoff_symbol (cs, objfile) break; #endif - case C_DECL: /* a type decleration?? */ - - sym = define_symbol (cs->c_value, cs->c_name, 0, 0, objfile); - if (sym != NULL) - SYMBOL_SECTION (sym) = cs->c_secnum; - return sym; - case C_GSYM: add_stab_to_list (name, &global_stabs); break; + case C_BCOMM: + common_block_start (cs->c_name, objfile); + break; + + case C_ECOMM: + common_block_end (objfile); + break; + + default: + complain (&storclass_complaint, cs->c_sclass); + /* FALLTHROUGH */ + + case C_DECL: case C_PSYM: case C_RPSYM: + case C_ECOML: sym = define_symbol (cs->c_value, cs->c_name, 0, 0, objfile); if (sym != NULL) @@ -1624,7 +1631,7 @@ process_xcoff_symbol (cs, objfile) /* If we are going to use Sun dbx's define_symbol(), we need to massage our stab string a little. Change 'V' type to 'S' to be comparible with Sun. */ - /* FIXME: I believe this is to avoid a Sun-specific hack somewhere. + /* FIXME: Is this to avoid a Sun-specific hack somewhere? Needs more investigation. */ if (*name == ':' || (pp = (char *) strchr(name, ':')) == NULL) @@ -1694,10 +1701,6 @@ process_xcoff_symbol (cs, objfile) complain (&rsym_complaint, name); return NULL; } - - default : - complain (&storclass_complaint, cs->c_sclass); - return NULL; } } return sym2; |