Wed Feb 12 02:44:39 1997 Dawn Perchik * c-valprint.c (c_val_print): Fix printing for arrays defined with 0 length. A sticky tag caused this fix from revision 2.32 date: 1996/04/29 23:25:27; author: dawn; state: Exp; lines: +1 -0 branches: 2.32.34; to not make it into devo. Tue Feb 11 22:24:39 1997 Dawn Perchik * defs.h: Fix cntl-C to read from the Windows message queue. Add prototypes for make_final_cleanup (and the other cleanup routines. * remote-e7000.c: Fix sync code to timeout if unable to sync. Change sync code to report status while trying to sync-up with hardware. Add debugging output and document. * ser-e7kpc.c: Swap order of len & offset to match implementation. Add debugging output and document. * serial.c: Add debugging output. * top.c: Add call to do_final_cleanups. Remove conditionals preventing Win32 from getting SIGQUIT. * utils.c: (*_cleanup): Modify cleanup routines to accept a cleanup chain as a parameter. Extract this generic code from the cleanup routines into separate funtions (*_my_cleanup). Keep old functionality by passing "cleanup_chain" to the new funtions. Define the cleanup chain "final_cleanup_chain" to be a cleanup chain which will be executed only when gdb exits. Add functions (*_final_cleanup) to match the original (*_cleanup) functions. (pollquit, quit, notice_quit): Fix to read cntl-C from the Windows message queue. start-sanitize-m32r Tue Feb 11 15:36:31 1997 Doug Evans * m32r-rom.c: #include . #ifdef out new load support if wingdb. * m32r/tm-m32r.h (TARGET_M32R): Define, for wingdb. end-sanitize-m32r Tue Feb 11 12:28:09 1997 Jeffrey A Law (law@cygnus.com) * config/mn10200/tm-mn10200.h (STORE_STRUCT_RETURN): Fix. * mn10200-tdep.c (mn10200_store_struct_return): New function. * config/mn10200/tm-mn10200.h (EXTRACT_RETURN_VALUE): Fix case when extracting a return value from a register pair. * mn10200-tdep.c (mn10200_push_arguments): Stack only needs to be two byte aligned. Round argument sizes up to two byte boundary. Write out args in two byte hunks. (mn10200_push_return_address): Implement. * config/mn10200/tm-mn10200.h (EXTRACT_RETURN_VALUE): Abort for structures > 8 bytes (temporary). (STORE_RETURN_VALUE): Likewise. (CALL_DUMMY): No longer undefine. (USE_STRUCT_CONVENTION): Use for args > 8 bytes. (REG_STRUCT_HAS_ADDR): Define. start-sanitize-r5900 Fri Feb 07 09:04:37 1997 Gavin Koch * configure.tgt: added r5900. end-sanitize-r5900 Mon Feb 10 18:35:55 1997 Mark Alexander * mips-tdep.c (non_heuristic_proc_desc): New function. (find_proc_desc): Move non-heuristic proc search code into separate function. (gdb_print_insn_mips): Use non-heuristic method to find procedure descriptor, to avoid prologue examination when disassembling. * remote-mips.c: Add support for new "lsi" target (LSI MiniRISC aka MicroMeteor board). (mips_exit_debug): Prevent protocol reinitialization if an error occurs while exiting debug mode. Mon Feb 10 16:11:57 1997 Jeffrey A Law (law@cygnus.com) * mn10200-tdep.c: Remove lots of debugging printfs, update/improve comments, formatting, etc. Plus other minor fixes for problems I found during my first pass over the mn10200 port. (mn10200_analyze_prologue): New function. (mn10200_frame_chain, mn10200_init_extra_frame_info): Use it. * config/mn10200/tm-mn10200.h: Lots of updates/improvements to comments, formatting, etc. Minor fixes for problems I found during my first pass over the mn10200 port. (TARGET_*_BIT): Define appropriately for ints, long longs, doubles and pointers. (REGISTER_VIRTUAL_TYPE): Define as a long. (EXTRACT_RETURN_VALUE): Rework to deal with long ints living in register pairs. (STORE_RETURN_VALUE): Similarly. * blockframe.c (generic_get_saved_regs): Remove unused variable "addr". * breakpoint.c (frame_in_dummy): Move struct breakpoint *b decl inside #ifdef CALL_DUMMY. (watch_command_1): Initialize target_resources_ok. * command.c (do_setshow_command): Provide dummy initialization for "match". * valops.c (find_function_addr): Move function & prototype inside #ifdef CALL_DUMMY. (value_arg_coerce): Similarly. (value_of_variable): Provide dummy initialization of "frame". Mon Feb 10 13:50:53 1997 Stu Grossman (grossman@critters.cygnus.com) * gdbtk.c (call_wrapper): Clear running_now if an error occurs. This fixes PR 11323, where gdbtk stops responding if an error occurs. Mon Feb 10 07:54:26 1997 Fred Fish * xcoffread.c (RECORD_MINIMAL_SYMBOL): Add NULL asection* parameter to prim_record_minimal_symbol_and_info call that was missed in Jan 3 change. (scan_xcoff_symtab): Ditto. Sun Feb 09 09:23:26 1997 Mark Alexander * remote-mips.c (common_breakpoint): Prevent 64-bit addresses from being sent to 32-bit targets by masking off upper bits. * mips-tdep.c (heuristic_proc_start): Mask off upper 32 bits of PC on 32-bit targets. (mips16_heuristic_proc_desc): Recognize 'addiu s1,sp,n' as a frame setup instruction. (mips32_heuristic_proc_desc): Fix warning found by gcc -Wall. (mips16_skip_prologue): Recognize 'addiu s1,sp,n' as a valid prologue instruction. Fix warnings and bugs found by gcc -Wall. * buildsym.c (finish_block): Improve handling of overlapping blocks; fixes problem on MIPS16 printing function arguments. Sat Feb 8 01:14:43 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) * dwarf2read.c (dwarf2_linkage_name): New function to get the linkage name of a die from DW_AT_MIPS_linkage_name or DW_AT_name. (read_func_scope, dwarf2_add_field, dwarf2_add_member_fn, new_symbol): Use it instead of accessing DW_AT_name. (read_partial_die): Use DW_AT_MIPS_linkage name as name of the partial die if present. (dwarf2_add_member_fn): Make a copy of physname on the type obstack. Fri Feb 7 10:06:22 1997 Jeffrey A Law (law@cygnus.com) * blockframe.c (generic_frame_chain_valid): If the new frame is not INNER_THAN the old frame, then it's not valid. Tue Feb 04 09:04:37 1997 Mark Alexander * mips-tdep.c (mips16_get_imm): Fix calculation of extended immediate. (mips16_heuristic_proc_desc): Recognize jal(x) instruction. Mon Feb 03 17:57:58 1997 Mark Alexander * mips-tdep.c (mips16_decode_reg_save): Distinguish between sd and sw instructions correctly. (heuristic_proc_start): Add support for MIPS16. (mips16_get_imm, mips16_heuristic_proc_desc, mips32_heuristic_proc_desc): New helper functions for heuristic_proc_desc. (heuristic_proc_desc): Rewrite and reorganize to support MIPS16. (mips_push_arguments): Don't align small arguments in EABI. (mips32_skip_prologue): Attempt to shrink code size a little. start-sanitize-m32r Mon Feb 3 11:06:05 1997 Michael Snyder * m32r-stub.c: New -- remote protocol support for M32R cpu. * m32r-rom.c: Several experiments with improved download time. * .Sanitize: Add entry for m32r-stub.c end-sanitize-m32r Fri Jan 31 08:26:39 1997 Mark Alexander * mips-tdep.c (MIPS16_INSTLEN): Define. (mips_find_saved_regs): Replace hardcoded 2's with MIPS16_INSTLEN. (heuristic_proc_start): Recognize 'entry' pseudo-op as a start of function on MIPS16. (mips32_skip_prologue, mips16_skip_prologue): New helper functions for mips_skip_prologue. (mips_skip_prologue): Recognize both 16- and 32-bit prologues. Wed Jan 29 12:45:54 1997 Michael Meissner * config/powerpc/ppc{,le}-sim.mt (SIM): Remove the library ../sim/common/libcommon.a. Tue Jan 28 15:54:13 1997 Michael Snyder * blockframe.c: fix a null pointer ref in generic_get_saved_register Tue Jan 28 15:39:50 1997 Geoffrey Noer * mn10200-tdep.c (mn10200_frame_chain): Get basic backtracing working. Mon Jan 27 14:31:52 1997 Mark Alexander First set of changes for mips16: * config/mips/tm-mips.h (MIPS16_BIG_BREAKPOINT, MIPS16_LITTLE_BREAKPOINT, BREAKPOINT_FROM_PC): Define. (ABOUT_TO_RETURN): Call new function mips_about_to_return. (mips_breakpoint_from_pc, mips_about_to_return): Declare. * mem-break.c (memory_breakpoint_from_pc): New function. (memory_insert_breakpoint, memory_remove_breakpoint): Use memory_breakpoint_from_pc to determine breakpoint contents and size. * target.h (memory_breakpoint_from_pc): Declare. * monitor.c (monitor_insert_breakpoint): Use memory_breakpoint_from_pc to determine size of breakpoint instruction. * mips-tdep.c (mips32_decode_reg_save, mips16_decode_reg_save): New helper functions for mips_find_saved_regs. (mips_find_saved_regs): Recognize mips16 prologues. (mips_addr_bits_remove): Strip off upper 32 bits of address when target CPU is 32 bits but CORE_ADDR is 64 bits. (mips_step_skips_delay): No branch delay slot on mips16. (gdb_print_insn_mips): Disassemble mips16 code. (mips_breakpoint_from_pc, mips_about_to_return): New functions. Mon Jan 27 10:34:03 1997 Jeffrey A Law (law@cygnus.com) * tm-mn10200.h (NUM_REGS): Decrease to 12. (REGISTER_NAMES): Elimination registers not found on the mn10200. (PC_REGNUM, MDR_REGNUM, PSW_REGNUM): Corresponding changes. (LIR_REGNUM, LAR_REGNUM): Delete. They don't exist on the mn10200. Sat Jan 25 00:07:59 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) * dwarf2read.c: Replace integral tag, name and form fields in internal structure definitions with the corresponding enumeration types from dwarf2.h. Add default cases to switches on enumerations where appropriate. Make quoting of string arguments in complaint messages consistent. Check for NULL returns from DW_STRING. (struct partial_die_info): Add sibling and has_type fields, remove unused value field. (DW_*): Move access macro definitions near the definition of the attribute structure. (struct field_info): New structure to pass information about fields and member functions between die processing routines. (dwarf2_build_psymtabs_hard): Set cu_header_offset. (scan_partial_symbols): Do not enter DW_TAG_subprogram dies into the partial symbol table if the DW_AT_*_pc attributes are missing. Add file scope base type definitions to the partial symbol table. Skip over child dies if the die has a sibling attribute. (add_partial_symbol): Enter global variables with type attributes and without location descriptors into the partial symbol table. Store value of DW_TAG_variable dies in the partial symbol table. Do not enter global variables into the minimal symbol table. Add base type definitions to the partial symbol table. (psymtab_to_symtab_1): Use dwarf2_get_pc_bounds to determine highpc. (process_die): Move check for DW_AT_low_pc to read_func_scope. Add a typedef symbol for base type definitions to the symbol table. Ignore DW_TAG_inlined_subroutine tags for now. (read_file_scope): Use dwarf2_get_pc_bounds to determine pc bounds. (read_func_scope, read_lexical_block_scope): Use dwarf2_get_pc_bounds to determine pc bounds, ignore dies with invalid bounds. (dwarf2_get_pc_bounds): New routine to extract and validate the DW_AT_*_pc attributes of a die. (dwarf2_add_field, dwarf2_attach_fields_to_type, skip_member_fn_name, dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type): New functions to handle fields and member functions. (read_structure_scope): Rewritten to use them. (read_array_type): Renamed from dwarf_read_array_type. Default upper array bound to describe an array with unspecified length. Create array types in backwards order, as dwarf2 puts out the array dimensions from left to right. (read_subroutine_type): Handle DW_TAG_unspecified_parameters, DW_AT_artificial and DW_AT_prototyped. (read_base_type): Make an unsigned type for DW_ATE_boolean. Pass objfile to dwarf_base_type. (read_partial_die): Use read_attribute to read in the attributes. Handle DW_AT_sibling and DW_AT_type. Follow references when determining DW_AT_name and DW_AT_external attributes of the die. Validate DW_AT_*_pc attributes. (read_full_die): Use read_attribute to read in the attributes. (read_attribute): New function to read an attribute described by an abbreviated attribute. (new_symbol): Relocate symbol value for DW_TAG_label with baseaddr. Do not set SYMBOL_VALUE_ADDRESS for DW_TAG_subprogram, SYMBOL_BLOCK_VALUE for the symbol will be set later by finish_block. Change symbol class for global variables with a zero valued location descriptor to LOC_UNRESOLVED. Handle DW_AT_const_value attributes for DW_TAG_variable, DW_TAG_formal_parameter and DW_TAG_enumerator. Build a typedef symbol for DW_TAG_base_type. (dwarf2_const_value): New routine to copy a constant value from an attribute to a symbol. (dwarf_base_type): Use passed in objfile, not current_objfile when calling dwarf2_fundamental_type. (dump_die): Use DW_* accessor macros to access values of attributes. (decode_locdesc): Handle DW_OP_plus_uconst. Wed Jan 22 01:31:16 1997 Geoffrey Noer * mn10200-tdep.c: New file. * config/mn10200/tm-mn10200.h: New, REGISTER_SIZE is 24 bits not 32, SP_REGNUM and FP_REGNUM are different, also no lar or lir. * config/mn10200/mn10200.mt: New file. * configure.tgt: add mn10200 entry. Tue Jan 21 18:32:23 1997 Stu Grossman (grossman@lisa.cygnus.com) * configure.in configure: Check if host has libdl if doing Solaris threads. Tue Jan 21 17:03:26 1997 Geoffrey Noer * mn10300-tdep.c: Wrote/fixed implementations of mn10300_frame_chain, mn10300_init_extra_frame_info, mn10300_frame_saved_pc * config/mn10300/tm-mn10300.h: Redefine INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC macros. Tue Jan 21 17:01:20 1997 Stu Grossman (grossman@lisa.cygnus.com) * configure.in configure: Check if host has libm. Make sure we are using gcc when using the -export-dynamic option. Fixes a problem with building under Solaris/SunPro cc. Mon Jan 20 13:52:13 1997 Mark Alexander * config/mips/{embed,embed64,embedl,embedl64}.mt: Link in simulator on MIPS embedded targets. Sat Jan 18 02:31:29 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) * blockframe.c (frameless_look_for_prologue): Mark frames with a zero PC as frameless to improve backtraces from core dumps caused by dereferencing a NULL function pointer. Thu Jan 16 14:10:41 1997 Geoffrey Noer * config/mn10300/tm-mn10300.h: fix BREAKPOINT definition. Tue Jan 14 16:01:06 1997 Geoffrey Noer * mn10300-tdep.c: made a lot more generic, ripping out code from copied target (no more mn10300_scan_prologue, init_extra_frame_info, and mn10300_fix_call_dummy calls) * config/mn10300/tm-mn10300.h: undefine INIT_EXTRA_FRAME_INFO and INIT_FRAME_PC macros Thu Jan 9 11:44:40 1997 Michael Snyder * sparc-tdep.c (sparc_frame_find_saved_regs): Don't use FP_REGISTER_BYTES to compute offsets into the saved frame, since it fails for SPARC targets configured without any FP regs. Instead, use DUMMY_STACK_REG_BUF_SIZE. Mon Jan 6 11:15:14 1997 Stu Grossman (grossman@critters.cygnus.com) * symtab.c (fixup_symbol_section): Handle NULL symbols without crashing. Fri Jan 3 12:08:16 1997 Stu Grossman (grossman@critters.cygnus.com) * Makefile.in configure configure.in: Remove ENABLE_CLIBS, ENABLE_OBS, and THREAD_DB_OBS. These are consolidated into LIBS and CONFIG_OBS. * configure configure.in: Clean up test cases around thread support. start-sanitize-v850 * configure.tgt (v850-*-*): Include v850ice.o and v850.lib if host is Windows. end-sanitize-v850 * c-valprint.c ch-valprint.c cp-valprint.c eval.c expprint.c printcmd.c valops.c value.h values.c: Add bfd_section arg to value_at and value_at_lazy. * coffread.c dbxread.c elfread.c mdebugread.c minsyms.c symtab.h: Add bfd_section arg to prim_record_minimal_symbol_and_info. * corefile.c gdbcore.h printcmd.c valops.c: Use read_memory_section instead of read_memory. It takes a bfd_section arg. * coffread.c dbxread.c elfread.c gdb-stabs.h objfiles.h: Remove unnecessary cast for assignment of struct dbx_symfile_info. Struct objfile now uses a real pointer instead of PTR for this element. * dbxread.c (dbx_symfile_init): Stash bfd section pointers for text, data and bss into dbx_symfile_info. * exec.c (xfer_memory): Handle transfers for user-specified sections. * findvar.c (read_var_value locate_var_value): Copy bfd section from the symbol to the value. * gdb-stabs.h: Add section pointers for text, data and bss sections. * maint.c (translate address command): Add test code for overlay address translation. * printcmd.c (do_examine do_one_display): Now takes a bfd section arg. * (print_formatted x_command): Record current section along with current address for repeated commands. * sparc-nat.c (fetch_inferior_registers): Change target_xfer_memory to target_{read write}_memory to allow changes to target_xfer_memory interface for section info. * symmisc.c (dump_msymbols print_symbol): Print section assocaited with symbol. * symtab.c (fixup_symbol_section): New routine to add section info to symbols returned by lookup_symbol. * symtab.h (struct general_symbol_info): Add bfd section to symbols. * target.c target.h (target_xfer_memory): Add bfd section to args. * (target_read_memory_section): New routine to read data from a specific section. * (target_memory_bfd_section): New global variable to pass bfd section in to targets. * valarith.c (value_add value_addr value_array): Preserve bfd section when computing new value. * value.h (struct value): Add bfd section to values. * values.c (allocate_value value_copy): Initialize/preserve bfd section. * (unpack_double): Clean up _MSC_VER conditionals to remove duplicate code. start-sanitize-v850 * v850ice.c: New module to support communication with NEC's PC-based ICE. * config/v850/tm-v850.h (REGISTER_NAMES): Replace sp, gp, fp, and ep names with rxx names. sp and fp are renamed via a different mechanism. end-sanitize-v850 Fri Jan 3 14:20:05 1997 Geoffrey Noer * mn10300-tdep.c (mn10300_push_arguments): rewrote, also removed code elsewhere that made use of RP_REGNUM. * config/mn10300/tm-mn10300.h: ripped out RP_REGNUM, V0_REGNUM, ARG0_REGNUM, ARGLAST_REGNUM (all not appropriate for mn10300 arch.), redefined SAVED_PC_AFTER_CALL, EXTRACT_RETURN_VALUE, EXTRACT_STRUCT_VALUE_ADDRESS, STORE_RETURN_VALUE. For older changes see ChangeLog-96 Local Variables: mode: indented-text left-margin: 8 fill-column: 74 version-control: never End: