* symfile.h (obsavestring): Don't declare.
* symfile.c (obsavestring): Remove. * ada-exp.y: Use obstack_copy0, not obsavestring. * ada-lang.c: Use obstack_copy0, not obsavestring. * coffread.c: Use obstack_copy0, not obsavestring. * cp-namespace.c: Use obstack_copy0, not obsavestring. * dbxread.c: Use obstack_copy0, not obsavestring. * dwarf2read.c: Use obstack_copy0, not obsavestring. * jit.c: Use obstack_copy0, not obsavestring. * mdebugread.c: Use obstack_copy0, not obsavestring. * psymtab.c: Use obstack_copy0, not obsavestring. * stabsread.c: Use obstack_copy0, not obsavestring. * xcoffread.c: Use obstack_copy0, not obsavestring.
This commit is contained in:
parent
86f62fd71f
commit
10f0c4bbfa
14 changed files with 81 additions and 96 deletions
|
@ -1,3 +1,19 @@
|
|||
2013-01-21 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* symfile.h (obsavestring): Don't declare.
|
||||
* symfile.c (obsavestring): Remove.
|
||||
* ada-exp.y: Use obstack_copy0, not obsavestring.
|
||||
* ada-lang.c: Use obstack_copy0, not obsavestring.
|
||||
* coffread.c: Use obstack_copy0, not obsavestring.
|
||||
* cp-namespace.c: Use obstack_copy0, not obsavestring.
|
||||
* dbxread.c: Use obstack_copy0, not obsavestring.
|
||||
* dwarf2read.c: Use obstack_copy0, not obsavestring.
|
||||
* jit.c: Use obstack_copy0, not obsavestring.
|
||||
* mdebugread.c: Use obstack_copy0, not obsavestring.
|
||||
* psymtab.c: Use obstack_copy0, not obsavestring.
|
||||
* stabsread.c: Use obstack_copy0, not obsavestring.
|
||||
* xcoffread.c: Use obstack_copy0, not obsavestring.
|
||||
|
||||
2013-01-21 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* dwarf2read.c (fixup_go_packaging): Save package name
|
||||
|
|
|
@ -880,7 +880,7 @@ write_object_renaming (const struct block *orig_left_context,
|
|||
if (orig_left_context == NULL)
|
||||
orig_left_context = get_selected_block (NULL);
|
||||
|
||||
name = obsavestring (renamed_entity, renamed_entity_len, &temp_parse_space);
|
||||
name = obstack_copy0 (&temp_parse_space, renamed_entity, renamed_entity_len);
|
||||
ada_lookup_encoded_symbol (name, orig_left_context, VAR_DOMAIN, &sym_info);
|
||||
if (sym_info.sym == NULL)
|
||||
error (_("Could not find renamed variable: %s"), ada_decode (name));
|
||||
|
@ -949,8 +949,8 @@ write_object_renaming (const struct block *orig_left_context,
|
|||
end = renaming_expr + strlen (renaming_expr);
|
||||
|
||||
index_name =
|
||||
obsavestring (renaming_expr, end - renaming_expr,
|
||||
&temp_parse_space);
|
||||
obstack_copy0 (&temp_parse_space, renaming_expr,
|
||||
end - renaming_expr);
|
||||
renaming_expr = end;
|
||||
|
||||
ada_lookup_encoded_symbol (index_name, NULL, VAR_DOMAIN,
|
||||
|
@ -1166,7 +1166,7 @@ write_ambiguous_var (const struct block *block, char *name, int len)
|
|||
obstack_alloc (&temp_parse_space, sizeof (struct symbol));
|
||||
memset (sym, 0, sizeof (struct symbol));
|
||||
SYMBOL_DOMAIN (sym) = UNDEF_DOMAIN;
|
||||
SYMBOL_LINKAGE_NAME (sym) = obsavestring (name, len, &temp_parse_space);
|
||||
SYMBOL_LINKAGE_NAME (sym) = obstack_copy0 (&temp_parse_space, name, len);
|
||||
SYMBOL_LANGUAGE (sym) = language_ada;
|
||||
|
||||
write_exp_elt_opcode (OP_VAR_VALUE);
|
||||
|
@ -1263,7 +1263,7 @@ write_var_or_type (const struct block *block, struct stoken name0)
|
|||
|
||||
encoded_name = ada_encode (name0.ptr);
|
||||
name_len = strlen (encoded_name);
|
||||
encoded_name = obsavestring (encoded_name, name_len, &temp_parse_space);
|
||||
encoded_name = obstack_copy0 (&temp_parse_space, encoded_name, name_len);
|
||||
for (depth = 0; depth < MAX_RENAMING_CHAIN_LENGTH; depth += 1)
|
||||
{
|
||||
int tail_index;
|
||||
|
|
|
@ -1310,8 +1310,8 @@ ada_decode_symbol (const struct general_symbol_info *gsymbol)
|
|||
{
|
||||
struct objfile *objf = gsymbol->obj_section->objfile;
|
||||
|
||||
*resultp = obsavestring (decoded, strlen (decoded),
|
||||
&objf->objfile_obstack);
|
||||
*resultp = obstack_copy0 (&objf->objfile_obstack,
|
||||
decoded, strlen (decoded));
|
||||
}
|
||||
/* Sometimes, we can't find a corresponding objfile, in which
|
||||
case, we put the result on the heap. Since we only decode
|
||||
|
|
|
@ -2011,8 +2011,8 @@ coff_read_struct_type (int index, int length, int lastsym,
|
|||
list = new;
|
||||
|
||||
/* Save the data. */
|
||||
list->field.name = obsavestring (name, strlen (name),
|
||||
&objfile->objfile_obstack);
|
||||
list->field.name = obstack_copy0 (&objfile->objfile_obstack,
|
||||
name, strlen (name));
|
||||
FIELD_TYPE (list->field) = decode_type (ms, ms->c_type,
|
||||
&sub_aux, objfile);
|
||||
SET_FIELD_BITPOS (list->field, 8 * ms->c_value);
|
||||
|
@ -2028,8 +2028,8 @@ coff_read_struct_type (int index, int length, int lastsym,
|
|||
list = new;
|
||||
|
||||
/* Save the data. */
|
||||
list->field.name = obsavestring (name, strlen (name),
|
||||
&objfile->objfile_obstack);
|
||||
list->field.name = obstack_copy0 (&objfile->objfile_obstack,
|
||||
name, strlen (name));
|
||||
FIELD_TYPE (list->field) = decode_type (ms, ms->c_type,
|
||||
&sub_aux, objfile);
|
||||
SET_FIELD_BITPOS (list->field, ms->c_value);
|
||||
|
@ -2102,8 +2102,8 @@ coff_read_enum_type (int index, int length, int lastsym,
|
|||
memset (sym, 0, sizeof (struct symbol));
|
||||
|
||||
SYMBOL_SET_LINKAGE_NAME (sym,
|
||||
obsavestring (name, strlen (name),
|
||||
&objfile->objfile_obstack));
|
||||
obstack_copy0 (&objfile->objfile_obstack,
|
||||
name, strlen (name)));
|
||||
SYMBOL_CLASS (sym) = LOC_CONST;
|
||||
SYMBOL_DOMAIN (sym) = VAR_DOMAIN;
|
||||
SYMBOL_VALUE (sym) = ms->c_value;
|
||||
|
|
|
@ -173,15 +173,15 @@ cp_add_using_directive (const char *dest,
|
|||
* sizeof (*new->excludes))));
|
||||
memset (new, 0, sizeof (*new));
|
||||
|
||||
new->import_src = obsavestring (src, strlen (src), obstack);
|
||||
new->import_dest = obsavestring (dest, strlen (dest), obstack);
|
||||
new->import_src = obstack_copy0 (obstack, src, strlen (src));
|
||||
new->import_dest = obstack_copy0 (obstack, dest, strlen (dest));
|
||||
|
||||
if (alias != NULL)
|
||||
new->alias = obsavestring (alias, strlen (alias), obstack);
|
||||
new->alias = obstack_copy0 (obstack, alias, strlen (alias));
|
||||
|
||||
if (declaration != NULL)
|
||||
new->declaration = obsavestring (declaration, strlen (declaration),
|
||||
obstack);
|
||||
new->declaration = obstack_copy0 (obstack,
|
||||
declaration, strlen (declaration));
|
||||
|
||||
memcpy (new->excludes, VEC_address (const_char_ptr, excludes),
|
||||
VEC_length (const_char_ptr, excludes) * sizeof (*new->excludes));
|
||||
|
@ -205,9 +205,8 @@ cp_set_block_scope (const struct symbol *symbol,
|
|||
if (processing_has_namespace_info)
|
||||
{
|
||||
block_set_scope
|
||||
(block, obsavestring (processing_current_prefix,
|
||||
strlen (processing_current_prefix),
|
||||
obstack),
|
||||
(block, obstack_copy0 (obstack, processing_current_prefix,
|
||||
strlen (processing_current_prefix)),
|
||||
obstack);
|
||||
}
|
||||
else if (SYMBOL_DEMANGLED_NAME (symbol) != NULL)
|
||||
|
@ -224,7 +223,7 @@ cp_set_block_scope (const struct symbol *symbol,
|
|||
unsigned int prefix_len = cp_entire_prefix_len (name);
|
||||
|
||||
block_set_scope (block,
|
||||
obsavestring (name, prefix_len, obstack),
|
||||
obstack_copy0 (obstack, name, prefix_len),
|
||||
obstack);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1706,8 +1706,8 @@ read_dbx_symtab (struct objfile *objfile)
|
|||
if (new_name != NULL)
|
||||
{
|
||||
sym_len = strlen (new_name);
|
||||
sym_name = obsavestring (new_name, sym_len,
|
||||
&objfile->objfile_obstack);
|
||||
sym_name = obstack_copy0 (&objfile->objfile_obstack,
|
||||
new_name, sym_len);
|
||||
xfree (new_name);
|
||||
}
|
||||
xfree (name);
|
||||
|
|
|
@ -6803,9 +6803,9 @@ fixup_go_packaging (struct dwarf2_cu *cu)
|
|||
if (package_name != NULL)
|
||||
{
|
||||
struct objfile *objfile = cu->objfile;
|
||||
const char *saved_package_name = obsavestring (package_name,
|
||||
strlen (package_name),
|
||||
&objfile->objfile_obstack);
|
||||
const char *saved_package_name = obstack_copy0 (&objfile->objfile_obstack,
|
||||
package_name,
|
||||
strlen (package_name));
|
||||
struct type *type = init_type (TYPE_CODE_MODULE, 0, 0,
|
||||
saved_package_name, objfile);
|
||||
struct symbol *sym;
|
||||
|
@ -7673,8 +7673,7 @@ dwarf2_physname (const char *name, struct die_info *die, struct dwarf2_cu *cu)
|
|||
retval = canon;
|
||||
|
||||
if (need_copy)
|
||||
retval = obsavestring (retval, strlen (retval),
|
||||
&objfile->objfile_obstack);
|
||||
retval = obstack_copy0 (&objfile->objfile_obstack, retval, strlen (retval));
|
||||
|
||||
do_cleanups (back_to);
|
||||
return retval;
|
||||
|
@ -13873,9 +13872,9 @@ guess_partial_die_structure_name (struct partial_die_info *struct_pdi,
|
|||
if (actual_class_name != NULL)
|
||||
{
|
||||
struct_pdi->name
|
||||
= obsavestring (actual_class_name,
|
||||
strlen (actual_class_name),
|
||||
&cu->objfile->objfile_obstack);
|
||||
= obstack_copy0 (&cu->objfile->objfile_obstack,
|
||||
actual_class_name,
|
||||
strlen (actual_class_name));
|
||||
xfree (actual_class_name);
|
||||
}
|
||||
break;
|
||||
|
@ -13959,8 +13958,8 @@ fixup_partial_die (struct partial_die_info *part_die,
|
|||
else
|
||||
base = demangled;
|
||||
|
||||
part_die->name = obsavestring (base, strlen (base),
|
||||
&cu->objfile->objfile_obstack);
|
||||
part_die->name = obstack_copy0 (&cu->objfile->objfile_obstack,
|
||||
base, strlen (base));
|
||||
xfree (demangled);
|
||||
}
|
||||
}
|
||||
|
@ -16630,9 +16629,9 @@ guess_full_die_structure_name (struct die_info *die, struct dwarf2_cu *cu)
|
|||
&& actual_name[actual_name_len
|
||||
- die_name_len - 1] == ':')
|
||||
name =
|
||||
obsavestring (actual_name,
|
||||
actual_name_len - die_name_len - 2,
|
||||
&cu->objfile->objfile_obstack);
|
||||
obstack_copy0 (&cu->objfile->objfile_obstack,
|
||||
actual_name,
|
||||
actual_name_len - die_name_len - 2);
|
||||
}
|
||||
}
|
||||
xfree (actual_name);
|
||||
|
@ -16676,8 +16675,8 @@ anonymous_struct_prefix (struct die_info *die, struct dwarf2_cu *cu)
|
|||
if (base == NULL || base == DW_STRING (attr) || base[-1] != ':')
|
||||
return "";
|
||||
|
||||
return obsavestring (DW_STRING (attr), &base[-1] - DW_STRING (attr),
|
||||
&cu->objfile->objfile_obstack);
|
||||
return obstack_copy0 (&cu->objfile->objfile_obstack,
|
||||
DW_STRING (attr), &base[-1] - DW_STRING (attr));
|
||||
}
|
||||
|
||||
/* Return the name of the namespace/class that DIE is defined within,
|
||||
|
@ -16906,8 +16905,7 @@ dwarf2_canonicalize_name (const char *name, struct dwarf2_cu *cu,
|
|||
if (canon_name != NULL)
|
||||
{
|
||||
if (strcmp (canon_name, name) != 0)
|
||||
name = obsavestring (canon_name, strlen (canon_name),
|
||||
obstack);
|
||||
name = obstack_copy0 (obstack, canon_name, strlen (canon_name));
|
||||
xfree (canon_name);
|
||||
}
|
||||
}
|
||||
|
@ -17008,8 +17006,8 @@ dwarf2_name (struct die_info *die, struct dwarf2_cu *cu)
|
|||
char *base;
|
||||
|
||||
/* FIXME: we already did this for the partial symbol... */
|
||||
DW_STRING (attr) = obsavestring (demangled, strlen (demangled),
|
||||
&cu->objfile->objfile_obstack);
|
||||
DW_STRING (attr) = obstack_copy0 (&cu->objfile->objfile_obstack,
|
||||
demangled, strlen (demangled));
|
||||
DW_STRING_IS_CANONICAL (attr) = 1;
|
||||
xfree (demangled);
|
||||
|
||||
|
|
|
@ -683,9 +683,9 @@ finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile)
|
|||
SYMBOL_TYPE (block_name) = lookup_function_type (block_type);
|
||||
SYMBOL_BLOCK_VALUE (block_name) = new_block;
|
||||
|
||||
block_name->ginfo.name = obsavestring (gdb_block_iter->name,
|
||||
strlen (gdb_block_iter->name),
|
||||
&objfile->objfile_obstack);
|
||||
block_name->ginfo.name = obstack_copy0 (&objfile->objfile_obstack,
|
||||
gdb_block_iter->name,
|
||||
strlen (gdb_block_iter->name));
|
||||
|
||||
BLOCK_FUNCTION (new_block) = block_name;
|
||||
|
||||
|
|
|
@ -1052,8 +1052,9 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend,
|
|||
sizeof (struct symbol)));
|
||||
memset (enum_sym, 0, sizeof (struct symbol));
|
||||
SYMBOL_SET_LINKAGE_NAME
|
||||
(enum_sym, obsavestring (f->name, strlen (f->name),
|
||||
&mdebugread_objfile->objfile_obstack));
|
||||
(enum_sym,
|
||||
obstack_copy0 (&mdebugread_objfile->objfile_obstack,
|
||||
f->name, strlen (f->name)));
|
||||
SYMBOL_CLASS (enum_sym) = LOC_CONST;
|
||||
SYMBOL_TYPE (enum_sym) = t;
|
||||
SYMBOL_DOMAIN (enum_sym) = VAR_DOMAIN;
|
||||
|
@ -1697,8 +1698,8 @@ parse_type (int fd, union aux_ext *ax, unsigned int aux_index, int *bs,
|
|||
else if (TYPE_TAG_NAME (tp) == NULL
|
||||
|| strcmp (TYPE_TAG_NAME (tp), name) != 0)
|
||||
TYPE_TAG_NAME (tp)
|
||||
= obsavestring (name, strlen (name),
|
||||
&mdebugread_objfile->objfile_obstack);
|
||||
= obstack_copy0 (&mdebugread_objfile->objfile_obstack,
|
||||
name, strlen (name));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1733,8 +1734,9 @@ parse_type (int fd, union aux_ext *ax, unsigned int aux_index, int *bs,
|
|||
}
|
||||
if (TYPE_NAME (tp) == NULL
|
||||
|| strcmp (TYPE_NAME (tp), name) != 0)
|
||||
TYPE_NAME (tp) = obsavestring (name, strlen (name),
|
||||
&mdebugread_objfile->objfile_obstack);
|
||||
TYPE_NAME (tp)
|
||||
= obstack_copy0 (&mdebugread_objfile->objfile_obstack,
|
||||
name, strlen (name));
|
||||
}
|
||||
}
|
||||
if (t->bt == btTypedef)
|
||||
|
|
|
@ -1739,8 +1739,8 @@ allocate_psymtab (const char *filename, struct objfile *objfile)
|
|||
sizeof (struct partial_symtab));
|
||||
|
||||
memset (psymtab, 0, sizeof (struct partial_symtab));
|
||||
psymtab->filename = obsavestring (filename, strlen (filename),
|
||||
&objfile->objfile_obstack);
|
||||
psymtab->filename = obstack_copy0 (&objfile->objfile_obstack,
|
||||
filename, strlen (filename));
|
||||
psymtab->symtab = NULL;
|
||||
|
||||
/* Prepend it to the psymtab list for the objfile it belongs to.
|
||||
|
|
|
@ -387,8 +387,8 @@ patch_block_stabs (struct pending *symbols, struct pending_stabs *stabs,
|
|||
SYMBOL_DOMAIN (sym) = VAR_DOMAIN;
|
||||
SYMBOL_CLASS (sym) = LOC_OPTIMIZED_OUT;
|
||||
SYMBOL_SET_LINKAGE_NAME
|
||||
(sym, obsavestring (name, pp - name,
|
||||
&objfile->objfile_obstack));
|
||||
(sym, obstack_copy0 (&objfile->objfile_obstack,
|
||||
name, pp - name));
|
||||
pp += 2;
|
||||
if (*(pp - 1) == 'F' || *(pp - 1) == 'f')
|
||||
{
|
||||
|
@ -1632,8 +1632,8 @@ again:
|
|||
new_name = cp_canonicalize_string (name);
|
||||
if (new_name != NULL)
|
||||
{
|
||||
type_name = obsavestring (new_name, strlen (new_name),
|
||||
&objfile->objfile_obstack);
|
||||
type_name = obstack_copy0 (&objfile->objfile_obstack,
|
||||
new_name, strlen (new_name));
|
||||
xfree (new_name);
|
||||
}
|
||||
}
|
||||
|
@ -2712,8 +2712,8 @@ read_member_functions (struct field_info *fip, char **pp, struct type *type,
|
|||
dem_opname, 0);
|
||||
if (ret)
|
||||
new_fnlist->fn_fieldlist.name
|
||||
= obsavestring (dem_opname, strlen (dem_opname),
|
||||
&objfile->objfile_obstack);
|
||||
= obstack_copy0 (&objfile->objfile_obstack,
|
||||
dem_opname, strlen (dem_opname));
|
||||
xfree (main_fn_name);
|
||||
}
|
||||
|
||||
|
@ -2855,7 +2855,7 @@ read_one_struct_field (struct field_info *fip, char **pp, char *p,
|
|||
struct gdbarch *gdbarch = get_objfile_arch (objfile);
|
||||
|
||||
fip->list->field.name =
|
||||
obsavestring (*pp, p - *pp, &objfile->objfile_obstack);
|
||||
obstack_copy0 (&objfile->objfile_obstack, *pp, p - *pp);
|
||||
*pp = p + 1;
|
||||
|
||||
/* This means we have a visibility for a field coming. */
|
||||
|
@ -3674,7 +3674,7 @@ read_enum_type (char **pp, struct type *type,
|
|||
p = *pp;
|
||||
while (*p != ':')
|
||||
p++;
|
||||
name = obsavestring (*pp, p - *pp, &objfile->objfile_obstack);
|
||||
name = obstack_copy0 (&objfile->objfile_obstack, *pp, p - *pp);
|
||||
*pp = p + 1;
|
||||
n = read_huge_number (pp, ',', &nbits, 0);
|
||||
if (nbits != 0)
|
||||
|
@ -4328,8 +4328,8 @@ common_block_start (char *name, struct objfile *objfile)
|
|||
}
|
||||
common_block = local_symbols;
|
||||
common_block_i = local_symbols ? local_symbols->nsyms : 0;
|
||||
common_block_name = obsavestring (name, strlen (name),
|
||||
&objfile->objfile_obstack);
|
||||
common_block_name = obstack_copy0 (&objfile->objfile_obstack,
|
||||
name, strlen (name));
|
||||
}
|
||||
|
||||
/* Process a N_ECOMM symbol. */
|
||||
|
|
|
@ -151,30 +151,6 @@ static VEC (sym_fns_ptr) *symtab_fns = NULL;
|
|||
int auto_solib_add = 1;
|
||||
|
||||
|
||||
/* Make a null terminated copy of the string at PTR with SIZE characters in
|
||||
the obstack pointed to by OBSTACKP . Returns the address of the copy.
|
||||
Note that the string at PTR does not have to be null terminated, I.e. it
|
||||
may be part of a larger string and we are only saving a substring. */
|
||||
|
||||
char *
|
||||
obsavestring (const char *ptr, int size, struct obstack *obstackp)
|
||||
{
|
||||
char *p = (char *) obstack_alloc (obstackp, size + 1);
|
||||
/* Open-coded memcpy--saves function call time. These strings are usually
|
||||
short. FIXME: Is this really still true with a compiler that can
|
||||
inline memcpy? */
|
||||
{
|
||||
const char *p1 = ptr;
|
||||
char *p2 = p;
|
||||
const char *end = ptr + size;
|
||||
|
||||
while (p1 != end)
|
||||
*p2++ = *p1++;
|
||||
}
|
||||
p[size] = 0;
|
||||
return p;
|
||||
}
|
||||
|
||||
/* Concatenate NULL terminated variable argument list of `const char *'
|
||||
strings; return the new string. Space is found in the OBSTACKP.
|
||||
Argument list must be terminated by a sentinel expression `(char *)
|
||||
|
|
|
@ -506,12 +506,6 @@ extern struct section_addr_info
|
|||
extern void free_section_addr_info (struct section_addr_info *);
|
||||
|
||||
|
||||
/* Make a copy of the string at PTR with SIZE characters in the symbol
|
||||
obstack (and add a null character at the end in the copy). Returns
|
||||
the address of the copy. */
|
||||
|
||||
extern char *obsavestring (const char *, int, struct obstack *);
|
||||
|
||||
/* Concatenate NULL terminated variable argument list of `const char
|
||||
*' strings; return the new string. Space is found in the OBSTACKP.
|
||||
Argument list must be terminated by a sentinel expression `(char *)
|
||||
|
|
|
@ -1512,8 +1512,8 @@ read_xcoff_symtab (struct objfile *objfile, struct partial_symtab *pst)
|
|||
|
||||
|
||||
#define SYMNAME_ALLOC(NAME, ALLOCED) \
|
||||
((ALLOCED) ? (NAME) : obsavestring ((NAME), strlen (NAME), \
|
||||
&objfile->objfile_obstack))
|
||||
((ALLOCED) ? (NAME) : obstack_copy0 (&objfile->objfile_obstack, \
|
||||
(NAME), strlen (NAME)))
|
||||
|
||||
|
||||
/* process one xcoff symbol. */
|
||||
|
|
Loading…
Reference in a new issue