diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2009-06-29 13:18:37 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2009-06-29 13:18:37 +0000 |
commit | 46bf50512ce837bbc53e8704dd5117db3273099b (patch) | |
tree | 46832d44f1d266f8be7f9786c64080e6f85e410f /gdb/coffread.c | |
parent | b08f1e8d6d0c824023e04fa0f379026fd4d56c72 (diff) | |
download | gdb-46bf50512ce837bbc53e8704dd5117db3273099b.zip gdb-46bf50512ce837bbc53e8704dd5117db3273099b.tar.gz gdb-46bf50512ce837bbc53e8704dd5117db3273099b.tar.bz2 |
* gdbtypes.h (struct builtin_type): Remove builtin_core_addr,
nodebug_text_symbol, nodebug_data_symbol, nodebug_unknown_symbol,
and nodebug_tls_symbol members.
(struct objfile_type): New data structure.
(objfile_type): Add prototype.
* gdbtypes.c (gdbtypes_post_init): Remove initialization code
for types no longer in struct builtin_type.
(objfile_type_data): New static variable.
(_initialize_gdbtypes): Initialize it.
(objfile_type): New function.
* gdbtypes.h (builtin_type_error): Remove.
* gdbtypes.c (build_complex): Do not use builtin_type_error.
* symtab.c (builtin_type_error): Remove.
(_initialize_symtab): Remove initialization.
* stabsread.c (dbx_lookup_type, define_symbol, error_type,
rs6000_builtin_type, read_range_type): Use per-objfile types
instead of global or per-architecture builtin types.
* coffread.c (decode_type): Likewise.
* dwarf2read.c (read_array_type, read_tag_string_type,
new_symbol, die_type): Likewise.
* mdebugread.c (parse_symbol, basic_type, upgrade_type,
parse_procedure, psymtab_to_symtab_1): Likewise.
* xcoffread.c (process_xcoff_symbol): Likewise.
* parse.c (write_exp_msymbol): Likewise.
* stabsread.c (rs6000_builtin_type_data): New static variable.
(_initialize_stabsread): Initialize it.
(rs6000_builtin_type): Add OBJFILE argument. Allocate builtin
types per-objfile instead of globally.
* stabsread.c (dbx_lookup_type): Add OBJFILE argument. Use it
instead of current_objfile; pass it to rs6000_builtin_type.
(dbx_alloc_type, read_type, read_range_type): Update calls.
(cleanup_undefined_types_noname): Add OBJFILE argument and
pass it to dbx_lookup_type.
(cleanup_undefined_types): Add OBJFILE argument and pass it
to cleanup_undefined_types_noname.
* stabsread.h (cleanup_undefined_types): Add OBJFILE argument.
* buildsym.c (end_symtab): Update call.
Diffstat (limited to 'gdb/coffread.c')
-rw-r--r-- | gdb/coffread.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/gdb/coffread.c b/gdb/coffread.c index ee8b380..888f8b4 100644 --- a/gdb/coffread.c +++ b/gdb/coffread.c @@ -1713,7 +1713,7 @@ decode_type (struct coff_symbol *cs, unsigned int c_type, *dim = 0; base_type = decode_type (cs, new_c_type, aux, objfile); - index_type = builtin_type_int32; + index_type = objfile_type (objfile)->builtin_int; range_type = create_range_type ((struct type *) NULL, index_type, 0, n - 1); type = @@ -1777,39 +1777,39 @@ decode_base_type (struct coff_symbol *cs, unsigned int c_type, { case T_NULL: /* shows up with "void (*foo)();" structure members */ - return builtin_type (gdbarch)->builtin_void; + return objfile_type (objfile)->builtin_void; #ifdef T_VOID case T_VOID: /* Intel 960 COFF has this symbol and meaning. */ - return builtin_type (gdbarch)->builtin_void; + return objfile_type (objfile)->builtin_void; #endif case T_CHAR: - return builtin_type (gdbarch)->builtin_char; + return objfile_type (objfile)->builtin_char; case T_SHORT: - return builtin_type (gdbarch)->builtin_short; + return objfile_type (objfile)->builtin_short; case T_INT: - return builtin_type (gdbarch)->builtin_int; + return objfile_type (objfile)->builtin_int; case T_LONG: if (cs->c_sclass == C_FIELD && aux->x_sym.x_misc.x_lnsz.x_size > gdbarch_long_bit (gdbarch)) - return builtin_type (gdbarch)->builtin_long_long; + return objfile_type (objfile)->builtin_long_long; else - return builtin_type (gdbarch)->builtin_long; + return objfile_type (objfile)->builtin_long; case T_FLOAT: - return builtin_type (gdbarch)->builtin_float; + return objfile_type (objfile)->builtin_float; case T_DOUBLE: - return builtin_type (gdbarch)->builtin_double; + return objfile_type (objfile)->builtin_double; case T_LNGDBL: - return builtin_type (gdbarch)->builtin_long_double; + return objfile_type (objfile)->builtin_long_double; case T_STRUCT: if (cs->c_naux != 1) @@ -1890,24 +1890,24 @@ decode_base_type (struct coff_symbol *cs, unsigned int c_type, break; case T_UCHAR: - return builtin_type (gdbarch)->builtin_unsigned_char; + return objfile_type (objfile)->builtin_unsigned_char; case T_USHORT: - return builtin_type (gdbarch)->builtin_unsigned_short; + return objfile_type (objfile)->builtin_unsigned_short; case T_UINT: - return builtin_type (gdbarch)->builtin_unsigned_int; + return objfile_type (objfile)->builtin_unsigned_int; case T_ULONG: if (cs->c_sclass == C_FIELD && aux->x_sym.x_misc.x_lnsz.x_size > gdbarch_long_bit (gdbarch)) - return builtin_type (gdbarch)->builtin_unsigned_long_long; + return objfile_type (objfile)->builtin_unsigned_long_long; else - return builtin_type (gdbarch)->builtin_unsigned_long; + return objfile_type (objfile)->builtin_unsigned_long; } complaint (&symfile_complaints, _("Unexpected type for symbol %s"), cs->c_name); - return builtin_type (gdbarch)->builtin_void; + return objfile_type (objfile)->builtin_void; } /* This page contains subroutines of read_type. */ |