aboutsummaryrefslogtreecommitdiff
path: root/gdb/hpread.c
diff options
context:
space:
mode:
authorFred Fish <fnf@specifix.com>1996-07-08 09:05:18 +0000
committerFred Fish <fnf@specifix.com>1996-07-08 09:05:18 +0000
commitace4b8d75a3bd81cdaf61a0fec307d631388470d (patch)
treea58747a97825773044bd6aed6c2c6e650062d8f3 /gdb/hpread.c
parentb7cc3e753094407b5dbb1f4d6c70e679f4fe2172 (diff)
downloadgdb-ace4b8d75a3bd81cdaf61a0fec307d631388470d.zip
gdb-ace4b8d75a3bd81cdaf61a0fec307d631388470d.tar.gz
gdb-ace4b8d75a3bd81cdaf61a0fec307d631388470d.tar.bz2
(laying some groundwork for a fix for PR 8443)
* coffread.c (record_minimal_symbol): Don't presave name string on symbol_obstack before passing to prim_record_minimal_symbol. It now handles saving the string itself. * dbxread.c (read_dbx_dynamic_symtab): Ditto. * mipsread.c (read_alphacoff_dynamic_symtab): Ditto. * os9kread.c (record_minimal_symbol): Ditto. * solib.c (solib_add_common_symbols): Ditto. * coffread.c (coff_symtab_read): Don't presave name string on symbol_obstack before passing to prim_record_minimal_symbol_and_info. It now handles saving the string itself. * dbxread.c (record_minimal_symbol): Ditto. * elfread.c (record_minimal_symbol_and_info): Ditto. * dstread.c (record_minimal_symbol): Remove static function that just called prim_record_minimal_symbol with the same args (after change to prim_record_minimal_symbol to do it's own name string saves). * nlmread.c (record_minimal_symbol): Ditto. * somread.c (record_minimal_symbol): Ditto. * hpread.c (hpread_read_enum_type): Save symbol name on symbol obstack. (hpread_read_function_type): Ditto. (hpread_process_one_debug_symbol): Ditto. * mdebugread.c (parse_symbol): Ditto. (new_symbol): Ditto. * minsyms.c (prim_record_minimal_symbol_and_info): Ditto. * coffread.c (process_coff_symbol): Use obsavestring to save SYMBOL_NAME, rather than obstack_copy0. * dstread.c (create_new_symbol): Ditto * symfile.c (obconcat): Ditto. * stabsread.c (patch_block_stabs): Ditto. * xcoffread.c (SYMNAME_ALLOC): Ditto. * symfile.c (obsavestring): Update comments * solib.c (solib_add_common_symbols): Remove local var origname.
Diffstat (limited to 'gdb/hpread.c')
-rw-r--r--gdb/hpread.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gdb/hpread.c b/gdb/hpread.c
index e902169..63ce77c 100644
--- a/gdb/hpread.c
+++ b/gdb/hpread.c
@@ -1287,7 +1287,8 @@ hpread_read_enum_type (hp_type, dn_bufp, objfile)
sym = (struct symbol *) obstack_alloc (&objfile->symbol_obstack,
sizeof (struct symbol));
memset (sym, 0, sizeof (struct symbol));
- SYMBOL_NAME (sym) = name;
+ SYMBOL_NAME (sym) = obsavestring (name, strlen (name),
+ &objfile->symbol_obstack);
SYMBOL_CLASS (sym) = LOC_CONST;
SYMBOL_NAMESPACE (sym) = VAR_NAMESPACE;
SYMBOL_VALUE (sym) = memp->dmember.value;
@@ -1378,7 +1379,8 @@ hpread_read_function_type (hp_type, dn_bufp, objfile)
sym = (struct symbol *) obstack_alloc (&objfile->symbol_obstack,
sizeof (struct symbol));
(void) memset (sym, 0, sizeof (struct symbol));
- SYMBOL_NAME (sym) = name;
+ SYMBOL_NAME (sym) = obsavestring (name, strlen (name),
+ &objfile->symbol_obstack);
/* Figure out where it lives. */
if (paramp->dfparam.regparam)
@@ -1790,7 +1792,7 @@ hpread_process_one_debug_symbol (dn_bufp, name, section_offsets, objfile,
sym = (struct symbol *) obstack_alloc (&objfile->symbol_obstack,
sizeof (struct symbol));
memset (sym, 0, sizeof (struct symbol));
- SYMBOL_NAME (sym) = name;
+ SYMBOL_NAME (sym) = obsavestring (name, strlen (name), &objfile->symbol_obstack);
SYMBOL_LANGUAGE (sym) = language_auto;
SYMBOL_INIT_DEMANGLED_NAME (sym, &objfile->symbol_obstack);
SYMBOL_NAMESPACE (sym) = VAR_NAMESPACE;