aboutsummaryrefslogtreecommitdiff
path: root/gdb/mipsread.c
AgeCommit message (Collapse)AuthorFilesLines
1993-05-22 Fix stack unwinding through _sigtramp on Irix. These patches are fromPeter Schauer1-8/+9
Paul Flinders <ptf@delcam.co.uk>. * mipsread.c (fixup_sigtramp): Find _sigtramp on Irix even when the executable uses sigvec. * mips-tdep.c (read_next_frame_reg): Allow tm-file to override sigcontext offsets. * config/mips/tm-irix3.h: Add sigcontext offsets for Irix.
1993-05-22 * config/mips/tm-irix3.h: Clean up, use tm-bigmips.h and redefinePeter Schauer1-4/+26
the necessary bits. * findvar.c (value_from_register): Fix uninitialized first_addr which caused problems with assignment of doubles to register variables on some targets. * mipsread.c: Remove TM_FILE_OVERRIDE, include tm.h and provide the missing mips definitions if necessary. Fix handling of double register variables for mips targets and big endian hosts. These patches are from Paul Flinders <ptf@delcam.co.uk>. * config/mips/tm-mips.h: Increase MAX_REGISTER_{RAW,VIRTUAL}_SIZE to 8 bytes for doubles. * config/mips/tm-mips.h (REGISTER_CONVERT_TO_TYPE): New macro for conversion of type held in multiple registers to host format. * config/mips/tm-mips.h (REGISTER_CONVERT_FROM_TYPE): New macro, companion to REGISTER_CONVERT_TO_TYPE. * config/mips/tm-mips.h (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE): Convert to function calls. * config/mips/tm-mips.h (FIX_CALL_DUMMY): New code for big endian mips targets. * mips-tdep.c (mips_print_register): Raw buffer now needs just MAX_REGISTER_RAW_SIZE bytes. * mips-tdep.c (mips_print_register): Use REGISTER_CONVERT_TO_TYPE (if defined) for doubles. * mips-tdep.c: (mips_extract_return_value, mips_store_return_value): New functions, take care of REGISTER_CONVERT_TO/FROM_TYPE. * valops.c (value_assign): Use REGISTER_CONVERT_TO_TYPE if defined. * findvar.c (value_from_register): Use REGISTER_CONVERT_TO_TYPE if defined.
1993-04-16 * mips-tdep.c (mips_skip_prologue): Always skip the typical prologuePeter Schauer1-3/+28
instructions and nothing more. * mipsread.c (add_line): Add comment why we have to combine line number entries for the same line number.
1993-03-28 * breakpoint.c (breakpoint_re_set_one): Fix storage leak.Peter Schauer1-1/+6
* breakpoint.c (enable_breakpoint): Don't enable watchpoint if it went out of scope. * exec.c (exec_close): Fix storage leak. * exec.c (exec_file_command): Make sure that bfd doesn't realign the output sections when patching an executable. * mips-nat.c (store_inferior_registers): Use REGISTER_PTRACE_ADDR when writing all registers. * mips-tdep.c (mips_push_dummy_frame): Save floating point registers at the right offset in the dummy frame. * mipsread.c (psymtab_to_symtab_1): Do not complain for stProc, stStaticProc and stEnd symbols as they are generated by gcc-2.x. * mipsread.c (mipscoff_new_init): Initialize stabsread and buildsym.
1993-03-23 * config/{a29k, arm, convex, gould, h8300, i386, i860, i960, m68k,Fred Fish1-1/+1
m88k, mips, none, ns32k, pa, pyr, romp, rs6000, sparc, tahoe, vax, z8k}: New directories to hold cpu specific configuration files. Naming follows gcc convention. * config/{*.mt, *.mh}: All target and host makefile fragment config files moved to an appropriate config/<cpu> subdirectory. * nm-*, xm-*, tm-*: All native, host, and target files, which get linked to nm.h, xm.h, and tm.h respectively by configure, moved to appropriate config/<cpu> subdirectory. * nm-sysv4.h, xm-sysv4.h, tm-sysv4.h, tm-sunos.h, nm-trash.h: Native, host, and target files that are common across more than one cpu architecture and included by one of the configured native, host, or target files, get moved to config directory. * Makefile.in (INCLUDE_CFLAGS): Add -I${srcdir}/config to pick up native, host, or target include files moved to one of the config subdirectories, and that are included by other files. * Makefile.in (alldeps.mak): Modify to account for new config directory structure. * alldeps.mak, depend: Update for new config directory structure. * config/*/[ntx]m-*.h: Modify all files that include other [ntx]m-*.h files to use path relative to gdb/config. I.E. "a29k/tm-ultra3.h" includes "a29k/tm-29k.h" rather than just "tm-29k.h". * remote-eb.c (tm-29k.h): Include a29k/tm-29k.h. * mipsread.c (tm-mips.h): Include mips/tm-mips.h. * i860-pinsn.c (tm-i860.h): Include i860/tm-i860.h. * configure.in: Default gdb_host_cpu to host_cpu, and remap the ones where the default is not unique or different than the config subdirectory name. Similarly, handle gdb_target_cpu. Modify configure.in as appropriate to make use of gdb_host_cpu and gdb_target_cpu to find makefile fragments and make links.
1993-03-22 * mipsread.c (compare_blocks): Sort blocks with the same startIan Lance Taylor1-1/+1
address by decreasing ending address.
1993-03-22 * mipsread.c (parse_procedure): Save cur_fdr accross call toPeter Schauer1-621/+597
lookup_symbol as it might get clobbered by the call. * mipsread.c (parse_partial_symbols): Use ADD_PSYMBOL_ADDR_TO_LIST. The previous code did not initialize the language field for the psymtab entry.
1993-02-04Reindented to GNU standard. No semantic changes. This checkin is toIan Lance Taylor1-2084/+2239
give a base for the upcoming changes, to make clear what I actually changed.
1993-02-02Tue Feb 2 15:30:33 1993 Ian Lance Taylor (ian@cygnus.com)Ian Lance Taylor1-23/+10
* mipsread.c (upgrade_type): Build array types correctly, using create_range_type and create_array_type.
1993-02-02* hp300ux-nat.c: Update copyrights.John Gilmore1-11/+11
* mipsread.c (parse_partial_symbols): Complain about block indexes that go backwards. Fix from Peter Schauer. * symfile.c (syms_from_objfile, symbol_file_add): Allow a symbol-file that has no linkage symbols to be read. * tm-rs6000.h, xm-rs6000.h: (SIGWINCH_HANDLER and friends): Move from tm- file to xm-file, since they're host dependent. * valarith.c (value_binop): Typo.
1993-01-16 * c-exp.y (exp:STRING): Convert C strings into array-of-charFred Fish1-14/+20
constants with an explicit null byte terminator. OP_STRING is now used for real string types. * c-lang.c (builtin_type_*): Move declarations to lang.c since they are used by all languages. * c-lang.c (_initialize_c_language): Move initializations of builtin_type_* to lang.c. * c-typeprint.c (c_type_print_varspec_prefix, c_type_print_varspec_suffix): TYPE_CODE_PASCAL_ARRAY renamed to TYPE_CODE_STRING. * c-valprint.c (c_val_print): Change the way character arrays are printed as strings to be consistent with the way strings are printed when pointer-to-char types are dereferenced. Remove test of print_max before calling val_print_string, which now does it's own test. * eval.c (evaluate_subexp): Add case for OP_ARRAY. * expprint.c (print_subexp, dump_expression): Add case for OP_ARRAY. * expression.h (enum exp_opcode): Add OP_ARRAY and document. * gdbtypes.c (builtin_type_*): Add declarations moved from c-lang.c. * gdbtypes.c (create_string_type): New function to create real string types. * gdbtypes.c (recursive_dump_type): TYPE_CODE_PASCAL_ARRAY renamed to TYPE_CODE_STRING. * gdbtypes.c (_initialize_gdbtypes): Add initializations of builtin_type_* types moved from c-lang.c. * gdbtypes.h (enum type_code): TYPE_CODE_PASCAL_ARRAY renamed to TYPE_CODE_STRING. * gdbtypes.h (builtin_type_string): Add extern declaration. * gdbtypes.h (create_string_type): Add prototype. * m2-lang.c (m2_create_fundamental_type): TYPE_CODE_PASCAL_ARRAY renamed to TYPE_CODE_STRING. * m88k-tdep.c (pushed_size): TYPE_CODE_PASCAL_ARRAY renamed to TYPE_CODE_STRING. * mipsread.c (_initialize_mipsread): TYPE_CODE_PASCAL_ARRAY renamed to TYPE_CODE_STRING. * parse.c (length_of_subexp, prefixify_subexp): Add case for OP_ARRAY. * printcmd.c (print_formatted): Recognize TYPE_CODE_STRING. * typeprint.c (print_type_scalar): TYPE_CODE_PASCAL_ARRAY renamed to TYPE_CODE_STRING. * valops.c (allocate_space_in_inferior): New function and prototype, using code ripped out of value_string. * valops.c (value_string): Rewritten to use new function allocate_space_in_inferior, but temporarily disabled until some other support is in place. * valops.c (value_array): New function to create array constants. * valprint.c (val_print_string): Add comment to document use, complete rewrite to fix several small buglets. * value.h (value_array): Add prototype. * value.h (val_print_string): Change prototype to match rewrite. **** start-sanitize-chill **** * ch-valprint.c (chill_val_print): Add case for TYPE_CODE_STRING. * ch-exp.y (match_character_literal): Disable recognition of control sequence form of character literals and document why. **** end-sanitize-chill ****
1992-12-18 * Makefile.in (VERSION): Bump to 4.7.4.Fred Fish1-1/+2
* Makefile.in (SFILES_MAINDIR): Add typeprint.c, c-typeprint.c, m2-typeprint.c, c-valprint.c cp-valprint.c m2-valprint.c. * Makefile.in (HFILES): Add valprint.h. * Makefile.in (OBS): Add typeprint.o, c-typeprint.o, m2-typeprint.o, c-valprint.o, cp-valprint.o m2-valprint.o. * typeprint.c, typeprint.h: New files for language independent type printing functions. * c-typeprint.c, m2-typeprint.c: New files for language dependent type printing functions and definitions. * valprint.h: New include file for language independent value printing definitions. * c-valprint.c, cp-valprint.c, m2-valprint.c: New files for language dependent value printing functions. * c-exp.y (production ptype): Add range_type variable and use new create_range_type function. * c-exp.y (tokentab2, tokentab3), c-lang.c (c_op_print_tab), infcmd.c (path_var_name), language.c (unk_op_print_tab), m2-lang.c (m2_op_print_tab): Change from ANSI-obsolescent "const static" to ANSI-conformant "static const". * c-exp.y (c_create_fundamental_type): Remove unused nbytes. * c-exp.y (c_language_defn, cplus_language_defn): Add c_print_type, and c_val_print. * c-lang.h (c_print_type, c_val_print): Add prototypes. * coffread.c (decode_type): Add range_type variable and call to new create_range_type function. * complaints.c (complain): Remove unused val variable. * complaints.c (_initialize_complaints): Make it void. * convex-tdep.c (value_of_trapped_internalvar): Add range_type variable and call new create_range_type function. * defs.h (enum val_prettyprint): Move enum from value.h to here so we can avoid having to include value.h just for prototypes that need the enum (thanks ANSI). * dwarfread.c (struct_type): Local anonymous_size variable is only used if !BITS_BIG_ENDIAN. * dwarfread.c (decode_subscript_data_item): Add rangetype variable and call new create_range_type function. * elfread.c (elf_symfile_read): Remove unused dbx and text_sect variables. * eval.c (evaluate_subexp): Remove unused local variable name and the statement with no side effects that initializes it. * expprint.c (print_subexp): Change local_printstr to LA_PRINT_STRING. * gdbtypes.c (create_range_type): New function that creates a range type using code fragments from object file readers as an example of what has to be initialized. * gdbtypes.c (create_array_type): Removed index_type, low_bound, and high_bound parameters, replaced with a single range_type parameter. Change function body to use passed in range_type rather than handcrafting one. * gdbtypes.h (create_range_type): Add prototype. * gdbtypes.h (create_array_type): Change prototype parameters. * infrun.c (normal_stop): Remove unused local variables tem and c. * infrun.c (hook_stop_stub): Return 0 rather than random value. * language.c (unk_lang_print_type, unk_lang_val_print): Add stub functions that call error if called. * language.c (unknown_language_defn, auto_language_defn, local_language_defn): Add initializers unk_lang_print_type and unk_lang_val_print. * language.h (struct language_defn): Reformat for larger comments, add la_print_type and la_val_print members. Add LA_PRINT_TYPE and LA_VAL_PRINT macros. Change local_printchar to LA_PRINT_CHAR and local_printstr to LA_PRINT_STRING. * m2-lang.c (m2_create_fundamental_type): Remove unused local variable nbytes. * m2-lang.c (m2_language_defn): Add initializers m2_print_type and m2_val_print. * m2-lang.h (m2_print_type, m2_val_print): Add prototypes. * main.c (execute_command): Remove unused local variable cmdlines. * main.c (echo_command), stabsread.c (read_type), printcmd.c (clear_displays), symmisc.c (block_depth), values.c (clear_value_history): Make testing of truth value of assignment result explicit. * mipsread.c (upgrade_type): Update FIXME to include future use of create_range_type. * printcmd.c (ptype_command, ptype_eval, whatis_command, whatis_exp, maintenance_print_type): Move prototypes and functions to new typeprint.c. * printcmd.c (_initialize_printcmd): Move add_com calls for ptype_command and whatis_command to new typeprint.c. * ser-bsd.c (serial_open): Remove unused variable sgttyb. * source.c (find_source_lines): Local variable c only used when LSEEK_NOT_LINEAR is defined. * stabsread.c (read_array_type): Use new create_range_type function. * stabsread.c (read_range_type): Add new index_type variable and call new create_range_type function rather than handcrafting range types. * symmisc.c (type_print_1): Change usages to LA_PRINT_TYPE. * symtab.c (typedef_print usages): Use c_typedef_print, renamed. * symtab.c (type_print_base usages): Use c_type_print_base. * symtab.c (type_print_varspec_prefix usages): Use c_type_print_varspec_prefix. * symtab.c (type_print_method_args usages): Use cp_type_print_method_args. * valprint.c: Completely ripped apart and the fragments used to create c-valprint.c, cp-valprint.c, m2-valprint.c, and valprint.h. Remaining stuff is language independent. * value.h (struct fn_field): Forward declare for prototypes. * value.h (type_print_1): Remove prototype. * value.h (enum val_prettyprint): Moved to defs.h. * value.h (typedef_print): Prototype renamed to c_typedef_print. * value.h (baseclass_offset): Add prototype. **** start-sanitize-chill **** * Makefile.in (SFILES_MAINDIR): Add ch-typeprint.c, ch-valprint.c. * Makefile.in (OBS): Add ch-typeprint.o, ch-valprint.o. * ch-typeprint.c: New file for language dependent type printing. * ch-valprint.c: New file for language dependent value printing. * ch-exp.y (parse_number): Remove prototype and stub function. * ch-exp.y (decode_integer_literal): Removed unused digits and temp variables. * ch-exp.y (convert_float): Completely ifdef out for now. * ch-exp.y (tokentab2, tokentab3, tokentab4, tokentab5), ch-lang.c (chill_op_print_tab): Change from ANSI-obsolescent "const static" to ANSI-conformant "static const". * ch-exp.y (yylex): Add unhandled storage class enumeration literals to switch statement for completeness. * ch-lang.c (chill_create_fundamental_types): Remove unused nbytes variable. Change dummy type to 2 bytes to match int. Handle FT_VOID types gratuituously added to chill DWARF by compiler. Change FT_CHAR case to generate an TYPE_CODE_CHAR type rather than a one byte TYPE_CODE_INT type. * ch-lang.c (chill_language_defn): Add chill_print_type and chill_val_print. * ch-lang.h (chill_print_type, chill_val_print): Add prototypes. **** end-sanitize-chill ****
1992-12-15 * complaints.c: New file, code moved from utils.c.Fred Fish1-14/+15
* complaints.c (complain): Made into a varargs function. * complaints.h: New file, code moved from symfile.h. * Makefile.in (SFILES_MAINDIR): Add complaints.c. * Makefile.in (HFILES): Add complaints.h. * Makefile.in (OBS): Add complaints.o. * symfile.c (complaint_root, stop_whining, complaint_series, complain, clear_complaints, add_show_from_set for stop_whining): Moved to complaints.c. * symfile.h (struct complaint, complaint_root decl, complain prototype, clear_complaints prototype): Moved to complaints.h. * buildsym.c, coffread.c, dbxread.c, dwarfread.c, elfread.c, gdbtypes.c, mipsread.c, stbsread.c, symfile.c: Include complaints.h. Remove casts from arguments to complain(), which is now a varargs function, and remove unnecessary placeholder zero args. * defs.h (begin_line): Add prototype. * defs.h (vprintf_filtered): Add prototype. * dwarfread.c (varargs.h): Remove, no longer needed. * dwarfread.c (dwarfwarn): Remove prototype and function. * dwarfread.c (complaints): Define a bunch of complaints. * dwarfread.c (SQUAWK): Remove macro defs, convert all usages to standard complain() calls. * utils.c (begin_line): New function that ensures that whatever gets filter-printed next starts on its own line. * utils.c (vprintf_filtered): New func, like vfprintf_filtered, but to stdout (calls vfprintf_filtered internally).
1992-12-15 * gdbtypes.c (create_array_type): Complete rewrite. Now requiresFred Fish1-3/+16
a optional type to decorate as an array type, the type of the index, and the bounds of the array. Records this additional info in the array type for use with languages with nonzero array bounds. * gdbtypes.h (enum type_code): Update comment for TYPE_CODE_ARRAY to note that arrays may have bounds. * gdbtypes.h (create_array_type): Update prototype. * c-exp.y (ptype production): Adjust for new create_array_type calling conventions. * coffread.c (decode_type): Call create_array_type rather than handcrafting array types. * convex-tdep.c (value_type): Remove, now use create_array_type. * convex-tdep.c (value_of_trapped_internalvar): Convert calls to vector_type into calls to create_array_type. * dwarfread.c (decode_subscr_data): Name changed to decode_subscript_data_item throughout. * dwarfread.c (decode_subscript_data_item): Rewrite to use create_array_type. Now records index type and range as well. * dwarfread.c (dwarf_read_array_type): Rewrite as part of change to use create_array_type. * dwarfread.c (read_subroutine_type): Test existing user defined types before decorating them, to ensure they are blank, and complain about it if they are not. * dwarfread.c (decode_fund_type): For unrecognized types, always return some valid type (type integer). If the unrecognized type cannot be an implementation defined type, complain as well. * m88k-tdep.c (pushed_size): Update comment for TYPE_CODE_ARRAY. * m88k-tdep.c (store_param): Update comment for TYPE_CODE_ARRAY. * mipsread.c (upgrade_type): Add FIXME comment that code to handcraft arrays should be replaced with call to create_array_type. * stabsread.c (read_array_type): Replace code to handcraft array types with call to create_array_type. * valprint.c (type_print_varspec_prefix): Minor formatting change, join lines that don't need to be split.
1992-10-21* mipsread.c (UNSAFE_DATA_ADDR): Remove MIPS-host-specificJohn Gilmore1-5/+4
definition, replace with portable one. * remote-nindy.c: Lint. (nindy_wait): Return type is int, result is inferior_pid. * symmisc.c (dump_psymtab): Only print section_offsets if set. (initialize_symmisc): Remove empty function. * tm-spc-noun.h, tm-sun4os4.h, tm-sun4sol2.h (STACK_END_ADDRESS): Remove obsolete, misspelled macro. * doc/gdbint.texinfo: Document obsolete STACK_END_ADDR. (all @node commands): Use new form to avoid nitpicking errors. * doc/gdbint.texinfo: Document host/native/target split.
1992-10-15Lint around file_ptr's (bfd's off_t's) and bfd_seek.John Gilmore1-7/+7
* dbxread.c (read_dbx_symtab): Use L_SET as bfd_seek arg. (elfstab_build_psymtabs): staboffset and stabstroffset args are file_ptr's. * dwarfread.c (struct dwfinfo): Convert dbfoff, lnfoff to file_ptr. (scan_compilation_units): Punt unused filename arg. dbfoff, lnoffset, and curlnoffset are file_ptr's now. (dwarf_build_psymtabs): Drop desc and filename args; use objfile. dbfoff and lnoffset are file_ptr's now. (read_ofile_symtab): foffset is now file_ptr. Use L_SET in bfd_seek. * elfread.c (struct elfinfo): dboffset and lnoffset are file_ptr's. (elf_symfile_read): Skip desc and filename args to dwarf_build_psymtabs. Pass file_ptr's to elfstab_build_psymtabs. * gdb-stabs.h: Use file_ptr rather than off_t. * mipsread.c (fixup_symtab): f_ptr is a file_ptr. Re-enable compile-time debug check that someone turned off as "unused". (read_the_mips_symtab): st_filptr is a file_ptr. Fix bfd_seek call. * symfile.h: Update dwarf_build_psymtabs and elfstab_build_psymtabs prototypes. * xcoffread.c (init_stringtab, init_lineno, xcoff_symfile_read): Use file_ptr offsets. bfd_seeks use L_SET.
1992-10-15* mips-tdep.c, mipsread.c, tm-mips.h: Get rid of ".gdbinfo."Stu Grossman1-70/+100
symbol. #define MIPS_EFI_SYMBOL_NAME instead. Use different value so that demangler won't be invoked. This greatly speeds up stepping. * mips-tdep.c (mips_pop_frame): Rewrite handling of linked_proc_info so that it properly deallocates the appropriate item after it is done with it instead of before. * Don't pass bogus frame pointer to create_new_frame(). Just leave it as zero so that lower level code will figure out the correct value.
1992-07-04 * breakpoint.c, buildsym.c, c-exp.y, coffread.c, command.c,Fred Fish1-2/+2
core.c, cplus-dem.c, dbxread.c, dwarfread.c, elfread.c, environ.c, eval.c, findvar.c, gdbtypes.c, hppabsd-tdep.c, hppahpux-tdep.c, i386-tdep.c, ieee-float.c, infcmd.c, inflow.c, infptrace.c, infrun.c, m2-exp.y, mipsread.c, objfiles.c, parse.c, procfs.c, putenv.c, remote-mm.c, remote-vx.c, solib.c, sparc-tdep.c, sparc-xdep.c, stack.c, symfile.c, symtab.c, symtab.h, target.c, tm-i386v.h, tm-sparc.h, utils.c, valarith.c, valops.c, valprint.c, values.c, xcoffread.c: Remove "(void)" casts from function calls where the return value is ignored, in accordance with GNU coding standards.
1992-06-29 * dbxread.c, i386-pinsn.c, i386-tdep.c, regex.c, solib.c, symmisc.c,Fred Fish1-7/+10
symtab.h, tm-i386v4.h, valprint.c, values.c: Lint. * breakpoint.c, c-exp.y, coffread.c, command.c, environ.c, eval.c, findvar.c, infcmd.c, infptrace.c, infrun.c, m2-exp.y, parse.c, putenv.c, solib.c, sparc-xdep.c, symtab.c, tm-i386v.h, tm-sparc.h, utils.c, valarith.c, valops.c, valprint.c, values.c: Replace bcopy() use with memcpy(), which is more standard and can take advantage of gcc's builtin functions for increased performance. * breakpoint.c, buildsym.c, coffread.c, dbxread.c, i386-tdep.c, ieee-float.c, infcmd.c, sparc-tdep.c, stack.c, symtab.c, symtab.h, target.c, values.c: Replace bzero() use with memset(), which is more standard and can take advantage of gcc's builtin functions for increased performance. * i386-tdep.c, main.c, valprint.c: Replace bcmp() use with memcmp(), which is more standard and can take advantage of gcc's builtin functions for increased performance.
1992-06-25 * mipsread.c: Pass NULL name pointer to init_type, not 0.Fred Fish1-10/+8
* gdbtypes.c (init_type): Use copy of typename on type_obstack. * dwarfread.c (enum_type): Save enum names on type_obstack. * dwarfread.c (struct_type): Save member name on type_obstack. * symtab.c (_initialize_symtab): Fix misspelling. * regex.c (store_jump, insert_jump): Return void.
1992-06-17 * mipsread.c: Undo ill effects from including <strings.h>,Fred Fish1-2/+5
which #defines index to be strchr. Unfortunately, index is a member of a symbol table structure that can't be changed. * mipsread.c: tm-mips.h includes coff/symconst.h and coff/sym.h, remove redundant #include's.
1992-06-16* mipsread.c: #include <strings.h> for rindex().Stu Grossman1-6/+9
1992-04-15Add TYPE_FLAG_FUND_TYPE bit to the flags member of the type structure,Fred Fish1-9/+15
and use it to decide when to print the actual type name rather than trying to invent the name of a fundamental type. This clears up the confusion between int/long when they are the same sizes, removes one obstacle to multi-language support (previously valprint.c thought everything was a C type), and allows gdb to support distinctions between explicitly and implicitly signed types when the compiler supports such distinction in the debug output (as does every ANSI compiler I tested except for gcc).
1992-04-12 * mipsread.c (parse_partial_symbols): Complain when sh->index isJohn Gilmore1-605/+693
too high or when skipping `forwards' moves us backwards. (parse_type): Print mis-guessed tag name in complaint. (parse_external): Eliminate cur_stab and obscure top_stack clobbers. (parse_procedure): Do not attempt to create symbols; just fill in the SYMBOL_VALUE field of a .gdbinfo. symbol if we can find one. (psymtab_to_symtab_1): Split up `stabs' from `native ecoff' code for clarity. Set top_stack before calling parse_external. In stabs, sort symbols before calling parse_procedure. * mipsread.c: Lint. * symmisc.c (std_in, std_out, std_err): Add vars to access std FILE *'s when debugging GDB (e.g. as args to dump_symtab). * Makefile.in: Remove stage* targets. Avoid echo on recursive makes. Eliminate doc/Makefile from tar.Z file if doc/Makefile.in exists. * mipsread.c: Cleanup. Add more complaints for unhandled cases. Remove new symbol types and such to ../include/coff/symconst.h. (parse_symbol): Simplify code for parsing struct/enum/unions. (parse_type): Handle `long long' types. (upgrade_type): Handle `const' qualifier. (parse_partial_symbols): fix indentation, clean a bit.
1992-04-07* mipsread.c: Create a .gdbinfo pseudo-symbol for eachStu Grossman1-3/+5
function also when parsing embedded stabs.
1992-04-07 * mipsread.c: Create a .gdbinfo pseudo-symbol for eachPer Bothner1-18/+34
function also when parsing embedded stabs.
1992-04-07* mipsread.c: Fix many invocations of complain. Use enumStu Grossman1-6/+7
type_code where appropriate.
1992-04-06* mipsread.c: Fix many invocations of complain.Stu Grossman1-9/+9
1992-04-04* buildsym.h, dbxread.c, mipsread.c: Add objfile arg toStu Grossman1-1/+2
process_one_symbol.
1992-04-03* Makefile.in (OBS): Compile mipsread.c for all targets now.John Gilmore1-10/+15
(VERSION): Bump to 4.4.85. * mipsread.c: Update for new include files. Lint. * tm-irix3.h, tm-mips.h: Use new include files for ECOFF symtab. * config/{bigmips.mt, littlemips.mt, irix3.mt, decstation.mt}: Don't need to bring in mipsread.o specially any more.
1992-04-03* mipsread.c (fixup_sigtramp): Also look for _sigtramp as a realStu Grossman1-34/+38
routine (for Irix-4.x). Make many funcs static and void. * mips-tdep.c (mips-frame-chain): Clean up, simplify. * (init_extra_frame_info): Don't trash cached value of frame pointer register. This fixes backtracing through routines that use alloca(). Generally clean up declarations of functions, and use typedefs and macros to reference data structures as appropriate. * tm-irix3.h, tm-mips.h (EXTRA_FRAME_INFO): use proper type for proc_desc element.
1992-03-31* mipsread.c (parse_symbol, parse_procedure): Re-do the way thatStu Grossman1-83/+39
.gdbinfo. symbols are created. Move creation from parse_procedure to parse_symbol, where it is fairly easy to grow the symtab. This also fixes a symtab trashing bug on all mips-based systems. * (got_numargs, lookup_numargs, free_numargs): Delete. Not needed anymore. * tm-mips.h, tm-iris3.h, mips-tdep.c, mipsread.c: Re-do struct mips_extra_func_info, and all the PROC_xxx macros that look at it.
1992-03-29Create and use macros for iterating on symtabs, psymtabs, msymbols.John Gilmore1-140/+130
* minsyms.c (iterate_over_msymbols): Remove; clunky and slow. * symfile.h, symtab.h (iterate_over_msymbols): Remove prototype * coffread.c (coff_symfile_read): iterate_over_symtabs => ALL_SYMTABS. (patch_opaque_types): Avoid dummy args and result. * objfiles.c (have_partial_symbols, have_full_symbols, have_minimal_symbols): explicit iteration => ALL_OBJFILES; simplify. (iterate_over_objfiles, iterate_over_symtabs, iterate_over_psymtabs): Remove, clunky and slow. * objfiles.h: Replace iterate_over_* prototypes with ALL_SYMTABS, ALL_PSYMTABS, and ALL_MSYMBOLS macros. * symmisc.c (dump_symtab, dump_psymtab, dump_msymbols, dump_objfile): Remove dummy args and results. Move filename comparisons to callers. (printsyms_command, printpsyms_command, printmsyms_command, printobjfiles_command): iterate_over_* => ALL_*. Compare filenames. * symtab.c (lookup_symtab_1, lookup_symtab, lookup_partial_symtab, lookup_symbol, find_main_psymtab, find_pc_symtab, sources_info, list_symbols, make_symbol_completion_list): Replace explicit iteration with ALL_SYMTABS, ALL_PSYMTABS, or ALL_MSYMBOLS. Eliminate Dijkstra flag crap, break out of loops with gotos. (lookup_symtab_1): Protect '/' tests from short filenames. (cplus_mangled_symbol): Move inline into lookup_symbol. * xcoffexec.c (relocate_objfile_msymbols): Remove poor hack. (relocate_minimal_symbol): Move inline to vmap_symtab. (vmap_symtab): Replace iteration with ALL_OBJFILES, iterate_over_msymbols with ALL_MSYMBOLS. Misc cleanup prior to release. * dwarfread.c (dwarf_build_psymtabs): Remove mainline test. * mipsread.c (compare_symtabs, compare_psymtabs): Remove, unused. * mipsread.c: Add prototypes for all static functions. * symmisc.c (dump_symtab_lines, dump_symtabs, dump_last_symtab, dump_blockvector, dump_block, dump_addrchass, dump_namespace, dump_symbol, dump_type, dump_linetable, dump_strtbl): Remove, unused. * xcoffread.c (dump_symtab_lines, dump_symtabs, dump_last_symtab, dump_blockvector, dump_block, dump_addrchass, dump_namespace, dump_symbol, dump_type, dump_linetable, dump_strtbl): Remove 2nd unused copy! * buildsym.c (define_symbol): Handle global register variables (from Pierre Willard). Complain if register numbers are too large.
1992-03-21Many changes, most related to creating entry point information on a per-objfileFred Fish1-11/+8
basis. See comments in objfiles.h and details in ChangeLog. Also remove redundant definitions of FRAME_CHAIN_VALID from most of the tm-* files and use a default definition in frame.h.
1992-03-19 * coffread.c, mipsread.c, xcoffread.c, coffread.c, dbxread.c,Fred Fish1-16/+48
elfread.c (coff_symfile_finish): Add function, prototype, and add to the xxxx_sym_fns struct for each file type. Also reformat the xxxx_sym_fns vector to a standard format and add comments. * coffread.c, mipsread.c, xcoffread.c, coffread.c, dbxread.c, elfread.c (xxx_symfile_new_init, xxx_symfile_init, xxx_symfile_read): Pass pointer to struct objfile rather than pointer to sym_fns. Change references inside each function accordingly. Allocate any symbol file specific info in the per-objfile memory region. * dbxread.c (free_and_init_header_files): Break function into free_header_files(), called from dbx_symfile_finish(), and init_header_files(), called from dbx_new_init(). * dbxread.c (dbx_new_init): Move deallocation things to new dbx_symfile_finish function. * elfread.c (elf_new_init): Call buildsym_new_init(). * objfiles.c (free_objfile): Call the appropriate symfile_finish() routine for the objfile before deallocating other stuff. * sparc-tdep.c (get_longjmp_target): Cast target_read_memory arg. * symfile.h: Move struct sym_fns to before struct objfile def. Add sym_finish function pointer and change prototypes of other function pointers to reflect passing struct objfile pointer rather than struct sym_fns pointer. * symfile.c: Remove now obsolete symtab_fns pointer. * symfile.c (symfile_init): Renamed to find_sym_fns, and now only locates the correct sym_fns struct for the given objfile. * symfile.c (syms_from_objfile, symbol_file_add): Restructured for better support of mapped symbol tables. * symfile.c (symbol_file_command): Remove obsolete code using symfile_fns. * symfile.h: Remove duplicate declarations for symfile_objfile, entry_point, and object_files. * target.c (target_info): Compare symfile_objfile to NULL. * xcoffread.c (aixcoff_new_init): Move deallocation stuff to aixcoff_symfile_finish().
1992-03-14* mipsread.c (mipscoff_symfile_read): Eliminate a lot ofJohn Gilmore1-15/+13
useless code, including an lseek to an uninitialized variable. Reported by Jim Williams <jimbo@wrs.com>.
1992-03-05* config.sub configure.in config/.Sanitize config/mh-irix4Stu Grossman1-2/+3
gdb/.Sanitize gdb/configure.in gdb/mips-tdep.c gdb/mipsread.c gdb/procfs.c gdb/signame.h gdb/tm-irix3.h gdb/tm-mips.h gdb/xm-irix4.h gdb/config/.Sanitize gdb/config/mt-irix3 gdb/config/mh-irix4 texinfo/configure.in: Port to SGI Irix-4.x.
1992-03-03Tue Mar 3 15:11:52 1992 Michael Tiemann (tiemann@cygnus.com)Michael Tiemann1-140/+227
* All GDB files that #include defs.h: Removed stdio.h. (defs.h): #include stdio.h. This has been tested by building GDBs for all targets hosted on Sun4. None of the build problems were related to stdio.h inclusion. (n.b. many configurations don't build for other reasons.)
1992-02-22* xm-sun3os4.h, xm-sun4os4.h: Enable HAVE_MMAP.John Gilmore1-108/+121
* minsyms.c (install_minimal_symbols): Add bunches to any existing minsyms in the objfile. Avoid extra mallocation by working directly in the obstack. Remove ignored `mainline' parm. * coffread.c, dbxread.c, elfread.c, mipsread.c, solib.c, symtab.h, xcoffread.c: Change all callers. * FIXME: We should be able to eliminate MAINLINE from all the symbol readers now, with a small bit of work. * valops.c, value.h: Lint. * remote-vx.c: Add missing break; statement. Bugfix by Michael Sclafani, <sclafani@src.dec.com>.
1992-02-06* mipsread.c (parse_symbol): Avoid clobbering enum pointer whenJohn Gilmore1-10/+11
looking at its members. Improve guess between struct and union, only assuming union if multiple members have offsets of zero.
1992-02-05Mips-specific bug-fix (for stabs-in-ecoff), and style fix. See ChangeLog.Per Bothner1-9/+39
1992-01-30Various fixed triggered by trying to do the right thing wrtPer Bothner1-83/+147
to external symbols in mips ecoff binaries. See ChangeLog.
1992-01-28Handle debug symbols in dynamically loaded (relocated) code:John Gilmore1-122/+174
* dbxread.c (read_ofile_symtab): Fix up N_CATCH better. Pass offset to process_one_symbol. (process_one_symbol): Take new offset parameter. Add it into appropriate symbol types to relocate symbols to loaded addresses. Handle all possible symbol types, and complain() about types that we don't expect to see. * mipsread.c (psymtab_to_symtab_1): Pass offset of zero to process_one_symbol (FIXME, should pass real offset). Misc bugfixes: * breakpoint.c (resolve_sal_pc): Split out code to resolve a sal's PC value. (set_breakpoint, break_command_1, until_break_command, catch_command_1, breakpoint_re_set_one): Use it. (breakpoint_re_set_one): Disable bkpts that don't re-set cleanly. (breakpoint_re_set): Mention breakpoint number in error messages. * symtab.h (resolve_sal_pc): Declare. * infcmd.c (jump_command): Use resolve_sal_pc. * source.c (find_source_lines): Avoid "Source file is more recent than executable" when bfd_get_mtime gives 0. (list_command): Shorten "FILE, line N" to "FILE:N". * putenv.c (putenv): Avoid unportably casting pointers to unsigneds.
1991-12-23Oodles of changes. The most important is adding support for stabsPer Bothner1-658/+579
encapsulated in mips ecoff. See ChangeLog for the gory details.
1991-12-01 Changes due to include file renaming:Steve Chamberlain1-1/+1
* xcoffread.c: internalcoff.h ->coff/internal.c, coff-rs6000.h ->coff/rs6000.h * mipsread.c: coff-mips.h ->coff/mips.h * elfread.c: elf-common.h ->elf/common.h elf-external.h ->elf/external.h, elf-internal.h ->elf/internal.h * dwarfread.c dwarf.h ->elf/dwarf.h * dbxread.c: aout64.h ->aout/aout64.h stab.gnu.h ->aout/stab_gnu.h * coffread.c: internalcoff.h ->coff/internal.h * buildsym.c: stab.gnu.h ->aout/stab_gnu.h * depend Updated to take the above into account.
1991-11-28Make structs work on DECstation (sigh)John Gilmore1-3/+8
1991-11-27Fix syntax errors.John Gilmore1-2/+3
1991-11-27Improve G++ debugging support.John Gilmore1-35/+37
1991-11-21* defs.h: Incorporate param.h. All users changed.John Gilmore1-8/+8
* param-no-tm.h: Change users to define TM_FILE_OVERRIDE instead. * param.h, param-no-tm.h: Removed. * Update copyrights in all changed files. * dbxread.c, dwarfread.c, inflow.c, infrun.c, m2-exp.y, putenv.c, solib.c, symtab.h, tm-umax.h, valprint.c: Lint. * tm-convex.h, tm-hp300hpux.h, tm-merlin.h, tm-sparc.h, xm-merlin.h: Avoid host include files in target descriptions. * getpagesize.h: Removed, libiberty copes now.
1991-11-09Add tracking of object files (that contain symbols) to gdb.John Gilmore1-23/+30
This includes a "struct objfile" that owns symtabs and psymtabs that were read in from that binary file. See ChangeLog.