aboutsummaryrefslogtreecommitdiff
path: root/gdb/xcoffread.c
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1993-10-12 20:02:11 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1993-10-12 20:02:11 +0000
commit9438d64262d8f6faebebf9f32d0229a5d60e5b6b (patch)
treef80672980aa09c32ff6e6ee5625928de526d0f02 /gdb/xcoffread.c
parent49d607d260f41a6c68f2ffbae019d4e0ff38b734 (diff)
downloadgdb-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.c27
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;