3 * dsrec.c (load_srec): Check remotedebug flag when printing
8 * breakpoint.c (breakpoint_re_set): add _siglongjmp to list of
13 * dve3900-rom.c: New file to support Densan DVE-R3900/20 board.
14 * monitor.c (monitor_debug): Move to utils.c, rename to puts_debug.
15 (monitor_write_memory, monitor_read_memory, monitor_insert_breakpoint,
16 monitor_remove_breakpoint): Remove useless address bits if current
17 monitor has MO_ADDR_BITS_REMOVE flag.
18 * monitor.h (MO_ADDR_BITS_REMOVE): Define.
19 * utils.c (puts_debug): Formerly monitor_debug from monitor.c;
20 move here and make public. Add better support for carriage returns.
21 * defs.h (puts_debug): Declare.
22 * dsrec.c (load_srec): Use puts_debug to print remotedebug information.
23 Output header record correctly.
24 (make_srec): Output a header record instead of a termination record
25 if sect is non-NULL (value is ignored), but abfd is NULL.
26 * config/mips/tm-tx39.h (DEFAULT_MIPS_TYPE): Remove definition.
27 (REGISTER_NAMES): Define to add R3900-specific registers.
28 * config/mips/tm-tx39l.h: Ditto.
29 * config/mips/tx39.mt (TDEPFILES): Add dve3900-rom.o and support files.
30 * config/mips/tx39l.mt: Ditto.
34 * dsrec.c: Cosmetic improvements.
35 (make-srec): Change indexing of format and code tables to
36 remove confusing empty entries.
40 * remote-mips.c (_initialize_remote_mips): Fix DDB doc string.
44 * d30v-tdep.c (d30v_frame_find_saved_regs): split most of
45 function off into d30v_frame_find_saved_regs_offsets;
46 (d30v_frame_find_saved_regs_offsets): new function. Got
47 backtrace working when calling from framefull (unoptimized)
48 routines (.e.g, main) into frameless (optimized) routines
53 * d30v-tdep.c (d30v_frame_chain): test end_of_stack
54 (d30v_frame_find_saved_regs): set it.
55 * config/d30v/tm-d30v.h: improved FRAME_CHAIN_VALID
60 * (mips_push_arguments): For big-endian shorts and char's store at
61 * the correct location.
65 * mdebugread.c (parse_partial_symbols): Delete check that symbols
66 for file not already loaded. Did not work when an include file
71 * elfread.c (elf_symfile_read): Since the partial symbol table is
72 searched last in first, insert mdebug or XCOFF info into the
73 partial symbol table before any DWARF2 info.
77 * symfile.c (init_psymbol_list): Handle init with zero elements.
79 * elfread.c (elf_symfile_read): If `mainline', clear psymbol table
80 using init_psymbol_list 0. For build_psymtabs functions, pass
81 mainline==0 so that psymbol_list isn't re-initialized.
83 * symfile.c (discard_psymtab): New function, correctly unlink an
84 empty psymtab from an object file.
85 * dbxread.c (end_psymtab): Call discard_psymtab.
86 * xcoffread.c (xcoff_end_psymtab): Ditto.
87 * hpread.c (hpread_end_psymtab): Ditto.
88 * os9kread.c (os9k_end_psymtab): Ditto.
92 * tracepoint.c (set_raw_tracepoint): initialize addr_string
93 to NULL; (trace_actions_command): call readline_begin_hook only
98 * configure.tgt: Change little-endian tx39 target name to tx39l.
102 * remote-sim.c (gdbsim_open): Use "--architecture" instead of
103 ambigious short form.
107 * d30v-tdep.c (d30v_frame_chain): don't or in DMEM_START to
108 FP_REGNUM value before return; (prologue_find_regs): two sets
109 of offsets -- frame pointer and stack pointer, not just one that
110 tries to do double duty; (d30v_frame_find_saved_regs): stop once
111 we hit pc (in case we're stopped in the middle of the prologue)
112 and improve handling of frameless prologues; (d30v_push_arguments):
113 *ALL* arguments go on the stack until we run out of args registers,
114 force sp to be 8 byte aligned.
116 * config/tm-d30v.h (EXTRACT_STRUCT_VALUE_ADDRESS): fix, it's r2,
117 not r0; (FRAME_CHAIN_VALID): handle use of external memory;
118 (STACK_ALIGN): define.
122 * remote-sim.c (gdbsim_wait): When HAVE_SIGACTION and SA_RESTART
123 intall cntrl-c handler with SA_RESTART clear. On BSD systems this
124 stops read syscalls's being restarted.
126 * configure.in (configdirs): Check for sigaction.
127 * configure: Re-generate.
131 * dwarf2read.c: From change proposed by Gavin Koch.
132 (address_significant_size): New static variable.
133 (dwarf2_build_psymtabs_hard): Check consistency between
134 `address_size' and `address_significant_size'.
135 (read_address): MASK out all but the significant bits, as
136 determined by `address_significant_size', of any addresses.
137 (elf-bfd.h): Include.
138 (dwarf2_build_psymtabs_hard): Set `address_significant_size'
139 according to the arch_size of the elf object file.
143 * dwarf2read.c (dwarf_decode_lines): Change type of address to
149 * tic80-tdep.c (tic80_push_arguments): The compiler always
150 passes structs by reference.
154 * tracepoint.c (trace_find_command): don't error if going
155 backwards thru the trace buffer in a loop.
156 * (struct tracepoint): delete unused field.
160 * d30v-tdep.c : don't bury lots of magic numbers in the code
161 instead use defines for the opcodes and opcode masks; update
162 to use actual d30v patterns; fix register sizes to be 4 bytes
163 not 2 bytes; improve prologue testing now that we have a C
164 compiler; fix stack frame handling enough to get backtraces
165 working; initial changes to push and pop frames (so that gdb
166 can call functions in the inferior).
168 * config/d30v/tm-d30v.h: update DMEM_START, IMEM_START, and
169 STACK_START; change FR_REGNUM to 61 (was 11). Reformat comment
170 about DUMMY FRAMES so that it is readable. Fix SAVED_PC_AFTER_FRAME
175 * ch-valprint.c (chill_val_print): To avoid segfaults, don't print
176 a string whose dynamic length is longer than its static length.
180 * dwarf2read.c (dwarf2_build_psymtabs_hard): Check
181 cu_header.length is within dwarf_info_buffer not
186 * tracepoint.c (memrange_sortmerge): allow for memranges
187 that overlap. (collect_pseudocommand etc.) cleanup decls.
191 * config/v850/tm-v850.h (BREAKPOINT): Reverted back to old value...
195 * config/v850/tm-v850.h (BREAKPOINT): Changed to match new value.
199 * tracepoint.c: Add declaration for x_command.
201 * printcmd.c (x_command): Remove static declaration.
205 * tracepoint.c (finish_tfind_command): call do_display so that
206 auto-displays are updated by tfind. Also, keep track of frame
207 and current-function so that tfind behaves like stepping (only
208 show the stack frame if we step into a new function or return).
212 * sol-thread.c: additional support for debugging threaded core
213 files on solaris; previously only kernel threads were found --
214 user threads generated errors.
215 * corelow.c: don't register core_ops as a target if
216 coreops_suppress_target is true (set by sol-thread.c).
220 * tracepoint.c: make "tdump" command handle literal memranges.
224 * tracepoint.c: use "lookup_cmd" to parse actions commands
225 (thus allowing unambiguous prefixes and aliases).
229 * configure.tgt: Add support for Thumb target.
233 * tracepoint.c: move prototype of validate_actionline(), and
234 make it consistent with the function declaration.
238 * Makefile.in (tracepoint_h): New macro for tracepoint.h
240 (tracepoint.o): Add rule to build.
244 * remote-sim.c (gdbsim_cntrl_c): Lose ANSI prototype.
246 * tracepoint.c (set_raw_tracepoint): fix typo
250 * tracepoint.c (set_raw_tracepoint): Make sure there's a trailing
251 slash on the directory name.
253 * top.c (get_prompt): New function.
258 * dwarf2read.c (struct comp_unit_head): Change length and
259 abbrev_offset fields to unsigned int.
260 (dwarf2_build_psymtabs_hard): Verify length and offset read from
265 * tracepoint.c, tracepoint.h: new module, implements tracing,
266 which is a new functionality somewhat like breakpoints except
267 that a tracepoint stops the inferior only long enough to collect
268 and cache selected buffers and memory locations, then allows
269 the inferior to continue; the cached trace data can then be
274 * infcmd.c: export registers_info, for use by other modules.
275 * printcmd.c: export output_command, for use by other modules.
276 * stack.c: export locals_info and args_info, for use by other modules.
277 * remote.c: export getpkt, putpkt, and fromhex for external use.
278 Make fromhex case-insensative. New function "remote_console_output"
279 abstracts the acceptance of "O" packets from target.
280 Make all "remotedebug" output go to stdout, not stderr.
284 * valprint.c (print_longest): When CC has long long but printf
285 doesn't, print decimal value as three parts.
287 * config/i386/tm-fbsd.h: New file.
288 * config/i386/fbsd.mt (TM_FILE): Change to tm-fbsd.h.
290 * config/i386/nm-fbsd.h (FLOAT_INFO): Move definition from here.
291 * config/i386/tm-fbsd.h (FLOAT_INFO): To here.
293 * configure.in (PRINTF_HAS_LONG_LONG): Check full functionality of
294 %ll format specifier.
295 (SCANF_HAS_LONG_DOUBLE): Check the scanf family for support of
296 long double using %Lg.
297 * acconfig.h: Provide default undef for SCANF_HAS_LONG_DOUBLE.
298 * configure: Re-generate.
300 * c-exp.y (parse_number): Use sscanf %Lg when host has
301 SCANF_HAS_LONG_DOUBLE not PRINTF_HAS_LONG_DOUBLE
305 * printcmd.c (print_insn): Set the machine type if known.
307 * i386-tdep.c (_initialize_i386_tdep): Delete "set
308 assembly-language" command. Replaced by generic "set
309 architecture". Set initial machine using bfd_lookup_arch.
313 * valops.c (call_function_by_hand): If the function has a
314 prototype, convert its arguments as if by assignment. Otherwise,
315 do the usual promotions.
316 * stabsread.c (define_symbol): Set the TYPE_FLAG_PROTOTYPED flag
317 on functions' types when we can; all C++ functions should get it,
318 and if the Sun-style prototype notation is in the stabs, we can
323 * aclocal.m4 (AM_CYGWIN32, AM_EXEEXT): Remove. They are already
324 defined by the inclusion of ../bfd/aclocal.m4.
325 * configure: Rebuild.
329 * Makefile.in (SHELL): Really do the change.
333 * Makefile.in: also revert SHELL change until configury
338 * sparc-tdep.c (sparc_pc_adjust): Don't assume sizeof (long) == 4.
342 * aclocal.m4: add EXEEXT setting rule
343 * configure.in: call it
344 * configure: regenerate
345 * Makefile.in: pepper with EXEEXTs in appropriate places,
346 set SHELL = @SHELL@ for those lame hosts that don't have a /bin/sh
347 For some reason, EXEEXT isn't getting substututed in correctly
348 so for now, set EXEEXT to empty string
352 * Makefile.in (remote-sim.o): Depend on $(INCLUDE_DIR)/callback.h.
356 * jv-exp.y (copy_exp, insert_exp): Avoid ANSI prototypes.
360 * d30v-tdep.c (d30v_print_flags): Function to print the d30v flags
361 in a human readable format.
362 (print_flags_command): Command wrapper to call d30v_print_flags.
363 (d30v_do_registers_info): When printing out all of the registers,
364 print out the flag values in a human readable fashion.
365 (_initialize_d30v_tdep): Add info flags command to print the
368 * config/d30v/tm-d30v.h (PSW_*): Add macros for each of the PSW
369 bits that are defined.
373 * symfile.c (generic_load): Handle cancel from the
374 ui_load_progress_hook routine.
375 * dsrec.c (load_srec): Handle cancel from the
376 ui_load_progress_hook routine.
380 * valprint.c (print_longest): The b, h, w, and g format specifiers
381 print unsigned values.
385 * top.c (quit_confirm): Change exit message.
389 * config/i386/cygwin32.mh: because cygwin.dll calls malloc/realloc
390 to allocate memory for environ space, gdb cannot use memory
391 checks -- set -DNO_MMCHECK
395 * jv-exp.y (ArrayAccess): Implement Name [ Expression ]; check the
396 code to see why this is not trivial.
397 (copy_exp, insert_exp): New functions.
401 * dwarf2read.c (dwarf2_build_psymtabs_hard): Handle the case
402 where a compilation unit die has no children (DW_TAG_compile_unit
404 (scan_partial_symbols): Add comment for nesting_level.
408 * solib.c (solib_break_names): add entry for Solaris 2.6 run
409 time linker. From Casper Dik via Peter Schauer.
413 * configure.in (configdir): Add -lcomdlg32 and -ladvapi32
420 * sol-thread.c (sol_find_new_threads_callback,
421 sol_find_new_threads): New functions.
422 * config/sparc/nm-sun4sol2.h (FIND_NEW_THREADS): New macro, invoke
423 sol_find_new_threads.
424 * thread.c (info_threads_command): invoke FIND_NEW_THREADS if it
429 * dbxread.c (process_one_symbol): Put back initialization
430 of a variable lost during last change. Don't perform
431 assignment inside conditionals.
432 * stabsread.c (symbol_reference_defined): Return -1 for error/not
433 found. All callers changed appropriately.
434 (define_symbol): Don't perform assignment inside conditionals.
438 * mdebugread.c (psymtab_to_symtab_1): Handle new live range stabs
441 * dbxread.c: More comment cleanups.
442 * stabsread.c: Fix various violations of the GNU coding and
443 formatting standards. Update/add comments to make code clearer.
444 (resolve_reference): Delete unused function.
445 (ref_search_val): Remove function. It didn't belong in stabsread.c
446 (resolve_live_range): No longer returns a value. Do not add it
447 to the live range list until the entire range stab has been parsed.
448 (get_substring): Remove duplicate declaration.
449 (resolve_symbol_reference): Now static. Remove unnecessary code
450 to deal with cleanups.
451 (ref_add): Use xrealloc instea of realloc.
452 (process_reference): Reorganize slightly to make clearer.
453 * stabsread.h (resolve_symbol_reference): Remove declaration.
454 (resolve_reference): Likewise.
455 * symtab.c (find_active_alias): New function.
456 (lookup_block_symbol): Use find_active_alias.
457 * symtab.h (struct range_list): Fix dangling struct live_range
459 (ref_search_val): Remove decl.
461 * symtab.h (struct range_list): Renamed from struct live_range.
462 (struct symbol): Remove struct live_range_info substruct.
463 Bring the alias list and range list fields up to the toplevel
464 as "aliases" and "ranges".
465 (SYMBOL_ALIASES, SYMBOL_RANGES): Corresponding changes.
466 (SYMBOL_RANGE_START, SYMBOL_RANGE_END, SYMBOL_RANGE_NEXT): Delete.
467 * stabsread.c: Corresponding changes.
469 * dbxread.c: Fix various violations of the GNU coding and
470 formatting standards. Update/add comments to make code
472 (process_later): Use xrealloc instead of realloc.
474 * symtab.c: Include inferior.h.
478 * ch-exp.c: Rename FIELD_NAME to DOT_FIELD_NAME (to avoid conflict).
482 * infcmd.c: Improve grammar of "set args" help.
486 * remote-sds.c (sds_load): Properly declare as static.
490 * config/sparc/tm-sparc.h (FIX_CALL_DUMMY): Mask off displacement
491 to 30 bits in call insn to handle --enable-64-bit-bfd.
492 (STORE_STRUCT_RETURN): Change to handle --enable-64-bit-bfd.
496 * stabsread.c: Make ref_map entries dynamically allocated.
500 * printcmd.c (print_address_symbolic, address_info): Mask
501 target-specific flag bits from PC, for more aesthetic disassembly.
502 * config/mips/tm-mips.h: Added PC masking for MIPS family
503 (especially the MIPS16).
507 * remote-mips.c (mips-initialize): Work around flakiness in
508 some versions of PMON after loading a program.
512 * c-lang.h, cp-valprint.c (static_field_print): Make non-static.
513 * parse.c, parser-defs.h (length_of_subexp): Make non-static.
514 * jv-exp.y (FieldAccess): Handle dollar-VARIABLE as primary.
515 (ArrayAccess): Likewise. Also remove warnings.
516 (CastExpression): Implement (typename) UnaryExpression.
517 (push_qualified_expression_name): Fix small bug.
518 * jv-lang.c: Use TYPE_TAG_NAME, not TYPE_NAME for class names.
519 (_initialize_jave_language): Fix typo (jave -> java).
520 (java_language): Java does *not* have C-style arrays.
521 (java_class_from_object): Make more general (and complicated).
522 (java_link_class_type): Fix typo "super" -> "class". Handle arrays.
523 (java_emit_char, java_printchar): New function.
524 (evaluate_subexp_java case BINOP_SUBSCRIPT): Handle Java arrays.
525 * jv-valprint.c (java_value_print): Implement printing of Java arrays.
526 (java_print_value_fields): New function.
527 (java_val_print): Better printing of TYPE_CODE_CHAR, TYPE_CODE_STRUCT.
531 * config/mips/tm-mips.h (MAKE_MSYMBOL_SPECIAL): Force MIPS16
533 (MIPS_FPU_SINGLE_REGSIZE, MIPS_FPU_DOUBLE_REGSIZE): Define.
534 * mips-tdep.c (mips_extract_return_value): Doubles aren't
535 returned in FP0 if FP registers are single-precision only.
539 * mips-tdep.c (set_reg_offset): New function.
540 (mips16_heuristic_proc_desc): Calculate offsets of registers
541 saved by entry pseudo-op after rest of prologue has been read.
542 Use set_reg_offset to ignore all but the first save of a given
544 (mips32_heuristic_proc_desc): Initialize frame adjustment value.
545 * remote-sim.c (gdbsim_store_register): Don't update registers
546 that have a null or empty name.
547 * findvar.c (read_register_bytes): Don't fetch registers
548 that have a null or empty name.
552 * config/mips/tm-mips.h (NUM_REGS): Define conditionally.
553 (REGISTER_NAMES): Ditto.
557 * dsrec.c (load_srec): add ui_load_progress_hook to
558 display some feedback to user
560 * symfile.c (generic_load): add ui_load_progress_hook to
561 display some feedback to user
565 * command.c (add_cmd, add_show_from_set): Insert new commands in
570 * config/mips-tm-mips.h (mips_extra_func_info): New frame_adjust
571 member for storing offset of MIPS16 frame pointer from SP.
572 * mips-tdep.c: Use RA_REGNUM instead of hardcoded 31 throughout.
573 (PROC_FRAME_ADJUST): Define.
574 (mips16_heuristic_proc_desc): Store frame pointer adjustment value.
575 (get_frame_pointer): Use frame pointer adjustment value when
576 calculating frame address.
577 * remote-sim.c (gdbsim_fetch_register): Don't fetch registers
578 that have a null or empty name.
582 * mips-tdep.c (_initialize_mips_tdep): Allow target files to
583 override default FPU type.
587 * configure.tgt (v850-*-*): necmsg.lib instead of v850.lib.
591 * config/v850/tm-v850.h (BREAKPOINT): Use 1 word DIVH insn with
592 RRRRR=0 for simulator breakpoint. Previous breakpoint insn was two
597 * ser-e7kpc.c (get_ds_base): Only use under Windows.
598 (windows.h): Include when any _WIN32 host.
602 * The following block of changes add support for debugging assembly
604 * breakpoint.c (resolve_sal_pc): Prevent crash when pc isn't
605 associated with a function.
606 * buildsym.c (record_line start_symtab end_symtab): Don't delete
607 symtabs which only have line numbers (but no other debug symbols).
608 * dbxread.c (read_dbx_symtab end_psymtab): Ditto.
610 * remote-sim.c: New functions gdbsim_insert/remove_breakpoint. Use
611 intrinsic simulator breakpoints if available, otherwise do it the
614 * configure.tgt: Add d30v.
615 * d30v-tdep.c: New file.
616 * config/d30v/d30v.mt, config/d30v/tm-d30v.h: New files.
620 * Makefile.in (ALLCONFIG): Remove, inaccurate and never used.
624 * mips-tdep.c (mips_push_arguments): Tweak alignment of register
625 value if the remaining length of a non-integral argument is smaller
626 than the register size for big-endian non-EABI mode.
628 * rs6000-tdep.c (branch_dest): Handle return from signal
629 handler function via sigreturn kernel call.
633 * stabsread.h, symtab.h, dbxread.c, symtab.c, stabsread.c:
634 Fix prototypes. Remove function scoped function declarations.
638 * config/i386/windows.mh (XDEPFILES): need to list some files
639 explicitly, for odd reasons.
643 * jv-exp.y (push_fieldnames): New, to handle EXP.FIELD1....FIELDN.
644 (push_expression_name): New, to handle expression names.
645 (push_qualified_expression_name): New, for qualified expression names.
646 (parse_number): Fix bugs in parsing of non-decimal integers.
647 * jv-lang.h, jv-lang.c (java_demangle_type_signature): New.
648 * jv-lang.c (type_from_class): Just use name with java_lookup_class.
649 (java_link_class_type): Add dummy "class" field.
650 (java_lookup_type): New.
651 (evaluate_subexp_java case STRUCTOP_STRUCT): Force to address.
652 * jv-typeprint.c (java_type_print_base): Don't print "class" field.
653 Use java_demangle_type_signature to print array class types.
654 * jv-valprint.c (java_value_print): Preliminary array support.
655 Print pointer as TYPE@HEXADDR, instead of (TYPE)0xHEXADDR.
656 (java_val_print): Move check for object type to java_value_print.
657 Check for null. Print pointer as @HEXADDR, not 0xHEXADDR.
659 * valops.c (search_struct_field): Search basesclasses in
660 ascending, not descending order. Hack to avoid virtual baseclass
661 botch for Java interfaces.
665 * util.c (run_cleanup_chain, make_run_cleanup, do_run_cleanups):
666 New cleanup clean for cleanups to be run when at each 'run' command.
667 * infcmd.c (run_command): Call do_run_cleanups.
669 * solib.c (find_solib): Register cleanup to call clear_solib
670 on a new 'run' command.
671 (symbol_add_stub): First look for existing objfile with same name.
675 * remote-sds.c (sds_load): New function.
677 (sds_open): Don't set inferior_pid yet.
678 (sds_kill): Remove contents.
679 (sds_create_inferior): Rewrite to work more like monitor
681 (sds_restart): Remove, no longer used.
683 * monitor.h (MO_SREC_ACK_PLUS, MO_SREC_ACK_ROTATE): New flags.
684 * monitor.c (monitor_wait_srec_ack): Add DINK32-specific ack code.
685 * dsrec.c (load_srec): Always write a header S-record.
686 * dink32-rom.c (dink32_regnames): Fix the names of float registers.
687 (dink32_cmds): Set to use S-record downloading with acks.
688 * remote-est.c (est_cmds): Add MO_SREC_ACK_PLUS flag.
692 * config/v850/tm-v850.h (BREAKPOINT): Set to a truely illegal
695 * exec.c (exec_file_command): Call set_architecture_from_file.
699 * dbxread.c (MSYMBOL_SIZE): New macro.
700 (end_psymtab): Use MSYMBOL_SIZE to extract size from minimal symbol.
701 * elfread.c (elf_symtab_read): If ELF symbol is "special",
702 such as a MIPS16 function, mark minimal symbol as special too.
703 * mips-tdep.c (pc_is_mips16): New function to check whether
704 a function is MIPS16 by looking at the minimal symbol. Use
705 pc_is_mips16 throughout instead of IS_MIPS16_ADDR macro.
706 * config/mips/tm-mips.h (SYMBOL_IS_SPECIAL, MAKE_MSYMBOL_SPECIAL,
707 MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): New functions for setting/testing
708 "special" MIPS16 bit in ELF and minimal symbols.
709 * mdebugread.c (parse_partial_symbols): Don't construct a partial
710 symbol table for a file that already has one.
714 * mdebugread.c (parse_symbol, handle_psymbol_enumerators): Handle
715 yet another variant of enumerator debugging info, used by DU 4.0
720 * config/i386/windows.mh (XDEPFILES): reduce to libwingdb.a.
721 otherwise link command line is too long.
725 * symtab.c, dbxread.c, stabsread.c: Fix up ANSI-C isms. Fix
726 some formatting problems.
730 * ser-e7kpc.c: Don't include w32sut.h. We no longer use the UT
731 mechanism. Remove prototypes for dos_async_* functions. They don't
736 * top.c (quit_confirm, quit_force): New functions, broken out of
738 (quit_command): Just call quit_confirm and quit_force.
739 * top.h (quit_confirm, quit_force): Declare.
743 * dbxread.c, buildsym.c, symtab.c, stabsread.c: Add support for
744 reading stabs extensions for live range information.
745 * stabsread.h, partial-stab.h: Add prototypes for new functions.
746 * symtab.h: Add structure for storing live range information.
750 * top.c (set_arch): New function, update target_architecture.
752 * defs.h, top.c (set_architecture_from_arch_mach): Replace
753 set_architecture, takes the arch and machine as arguments.
755 * sh3-rom.c (sh3e_open): Update.
760 * remote-e7000.c (e7000_fetch_registers): Fix typo, stray paren.
765 * top.c (init_main): Add ``set processor'' as an alias for ``set
770 * config/sparc/sparclite.mt: Removed simulator references (erc32
775 * remote-e7000.c (e7000_fetch_registers): Check
776 target_architecture instead of sh_processor_type.
779 * config/sh/tm-sh.h (sh_set_processor_type): Delete prototype.
781 * sh3-rom.c (sh3_open): Call set_architecture not
782 sh_set_processor_type.
785 * sh-tdep.c (sh_show_processor_type_command): Delete.
786 (sh_set_processor_type_command): Delete.
787 (sh_target_architecture_hook): Rename from sh_set_processor_type,
788 use AP to determine architecture.
789 (sh_show_regs): Use bfd_mach_sh* types.
791 * remote-sim.c (gdbsim_open): Pass --arch=XXX to simulator when
792 architecture was specified explicitly.
794 * defs.h (target_architecture, target_architecture_auto,
795 set_architecture, set_architecture_from_file): Declare.
796 (target_architecture_hook): Allow targets to be notified of set
799 * top.c (init_main): Add set/show/info architecture commands.
800 (set_architecture, show_architecture, info_architecture): New
801 functions, parse same.
802 (set_architecture_from_file): New function, determine arch from
807 * remote-sim.c (gdbsim_open): Only pass endianness to sim_open
808 when set explicitly. Prepend endianness arg so that it can be
811 * defs.h, top.c (target_byte_order_auto): Make global when
812 byteorder is selectable.
816 * remote-sim.c (gdbsim_create_inferior): Pass exec_bfd into
818 (gdbsim_create_inferior): Pass -1 to proceed, sim_create_inferior
819 has already set the PC.
820 (gdbsim_create_inferior): Allow exec_file to be NULL, make "No
821 exec file" a warning. Ditto for "No program loaded".
825 * ocd.c: revert Sun change -- enable log file handling
829 * remote-sim.c (gdbsim_open): Pass exec_bfd to sim_open call.
833 * ocd.c: comment out sections that create and flush wigglers.log
834 log file when using the wiggler.
838 * config/powerpc/ppc-eabi.mt:
839 * config/powerpc/ppc-sim.mt:
840 * config/powerpc/ppcle-eabi.mt:
841 * config/powerpc/ppcle-sim.mt: ser-ocd.c needs to be before
842 other ocd-related files in TDEPFILES
846 * ppc-bdm.c (bdm_ppc_wait): stop printfing ecr, der
847 * ocd.c: initialize remote_timeout
848 (ocd_wait): while looping, call ocd_do_command with OCD_AYT
849 (ocd_get_packet): remove find_packet goto. If there isn't
850 an 0x55 at the start, something is quite wrong so error out
851 instead of advancing in the packet and trying again. If checksum
852 is invalid, print error message instead of trying again.
853 * ser-ocd.c (ocd_readchar): error if we attempt to read past
854 the end of the from_wiggler_buffer.
859 * dink32-rom.c: Don't use "mf" command to fill, is too picky
865 * objfiles.c (objfile_relocate): Add call to breakpoint_re_set
866 after relocations are complete.
867 * remote-vx.c (vx_add_symbols): Remove call to breakpoint_re_set,
868 this is now done in objfile_relocate.
872 * win32-nat.c (handle_exception): Return a value indicating
873 whether the exception was handled. Don't handle random exceptions
874 the first time around, so that structured exception handling
876 (child_wait): Check the return value of handle_exception. Set the
877 continue_status argument to ContinueDebugEvent accordingly.
881 * configure.tgt: Add support for v850ea target.
885 * m32r-stub.c: fix typo
889 * remote-sds.c: Remove unused remnants of remote.c.
890 (tob64): Return the result length.
891 (sds_interrupt): Send a stop message.
892 (sds_wait): Add debug output for signal interpretation, flag
893 that signal was due to a trap.
894 (sds_fetch_registers): Fill the registers array correctly for
896 (sds_store_registers): Get the right values from registers array.
897 (putmessage): Tweak length handling so checksum comes out right.
898 (sds_insert_breakpoint, sds_remove_breakpoint): Do correctly.
902 * Makefile.in (init.c): Don't use xargs.
906 * infrun.c (wait_for_inferior): Add the symbols for any
907 newly loaded objects upon a TARGET_WAITKIND_LOADED event.
909 Rewrite code which determines the TOC address for calling functions
910 in the inferior under AIX.
911 * rs6000-nat.c (find_toc_address): New function to determine
912 the required TOC address from a function address.
913 (_initialize_core_rs6000): Set up find_toc_address_hook to point
915 (xcoff_relocate_symtab, xcoff_relocate_core): Remove
916 add_text_to_loadinfo calls.
917 (exec_one_dummy_insn): Change pid and status to int to get rid of
919 (xcoff_relocate_symtab): Cast ldi to `int *' when passing it to
920 ptrace to get rid of compiler warnings.
921 * rs6000-tdep.c: Add definition for find_toc_address_hook.
922 (rs6000_fix_call_dummy): If find_toc_address_hook is non zero,
923 patch TOC address load code in the call dummy with the value
924 returned from find_toc_address_hook.
925 (struct loadinfo, loadinfo, loadinfolen,
926 loadinfotextindex, xcoff_init_loadinfo, free_loadinfo,
927 xcoff_add_toc_to_loadinfo, add_text_to_loadinfo, find_toc_address):
929 (_initialize_rs6000_tdep): Remove initialization of
930 coff_add_toc_to_loadinfo_hook and xcoff_init_loadinfo_hook.
931 * xcoffread.c (coff_add_toc_to_loadinfo_hook,
932 xcoff_init_loadinfo_hook): Remove.
933 (struct coff_symfile_info): Add toc_offset field.
934 (scan_xcoff_symtab): Record toc_offset value in toc_offset field
935 instead of calling xcoff_add_toc_to_loadinfo_hook.
936 (get_toc_offset): New function to return the value of the
937 toc_offset field for an object file.
938 (xcoff_initial_scan): Remove call of xcoff_init_loadinfo_hook.
939 * xcoffsolib.h (add_text_to_loadinfo): Remove declaration.
940 * config/rs6000/tm-rs6000.h: Add declarations for
941 find_toc_address_hook and get_toc_offset.
945 * remote-sds.c: New file, interface to SDS-compatible monitors.
946 * Makefile.in (remote-sds.o): Add build rule.
947 * config/powerpc/ppc-eabi.mt, config/powerpc/ppc-sim.mt
948 (TDEPFILES): Add remote-sds.o.
952 * ocd.c (ocd_wait): loop until we're in BDM mode instead of
953 assuming control has returned to GDB.
957 * dink32-rom.c: New file, support for DINK32 monitor.
958 * Makefile.in (dink32-rom.o): Add build rule.
959 * config/powerpc/ppc-eabi.mt, config/powerpc/ppc-sim.mt
960 (TDEPFILES): Add dink32-rom.o.
961 * monitor.h (MO_32_REGS_PAIRED, MO_SETREG_INTERACTIVE,
962 MO_SETMEM_INTERACTIVE, MO_GETMEM_16_BOUNDARY,
963 MO_CLR_BREAK_1_BASED): New monitor interface flags.
964 * monitor.c: Use them.
965 (monitor_store_register): Use setreg.term if defined.
966 (monitor_insert_breakpoint, monitor_remove_breakpoint): Notice
967 if set_break and clr_break fields are empty.
971 * ocd.c (ocd_insert_breakpoint, ocd_remove_breakpoint): Macro
972 BDM_BREAKPOINT already has braces around it, remove erroneous ones.
973 * ser-ocd.c (ocd_write): Conditionalize on _WIN32 instead of
975 * config/powerpc/tm-ppc-eabi.h: Remove BDM_NUM_REGS, BDM_REGMAP
976 * ppc-bdm.c: move BDM_NUM_REGS, BDM_REGMAP here from tm.h file,
977 fill in doc fields of bdm_ppc_ops.
978 (bdm_ppc_fetch_registers): Don't ask for invalid registers such
979 as the MQ or floating point regs not present on ppc 8xx boards.
980 (bdm_ppc_store_registers): Don't write those same invalid registers.
981 * config/i386/cygwin32.mh: Stop including ocd.o ser-ocd.o.
982 * config/powerpc/ppc-eabi.mt:
983 * config/powerpc/ppcle-eabi.mt:
984 * config/powerpc/ppc-sim.mt:
985 * config/powerpc/ppcle-sim.mt: Include ser-ocd.o.
989 * frame.h (enum lval_type): Conditionalize on __GNUC__
994 * utils.c (error): Fix return type for !ANSI_PROTOTYPES.
998 * ocd.c: move ocd_write_bytes proto to ocd.h since it is used
999 by ppc-bdm.c, use OCD_LOG_FILE to help debugging, define
1000 BDM_BREAKPOINT if not defined in tm.h
1001 (ocd_error): add new error cases
1002 (ocd_start_remote): send the OCD_INIT command before
1003 OCD_AYT and OCD_GET_VERSION calls, 80 was correct speed after all
1004 (ocd_write_bytes): no longer static
1005 (ocd_insert_breakpoint): no longer static
1006 (ocd_remove_breakpoint): new
1007 * ocd.h: add protos for ocd_write_bytes, ocd_insert_breakpoint,
1008 and ocd_remove_breakpoint
1009 * ppc-bdm.c: change bdm_ppc_ops so we call ocd_insert_breakpoint
1010 and ocd_remove_breakpoint instead of memory_insert_breakpoint
1011 and memory_remove_breakpoint.
1012 (bdm_ppc_open): after calling ocd_open, modify DER
1013 register so interrupts will drop us into debugging mode, finally
1014 disable the watchdog timer on the board so we don't leave BDM
1019 * values.c (value_primitive_field): Account for offset when
1020 extracting the value of a bitfield.
1025 * config/tic80/tic80.mt:
1026 (GDBSERVER-DEPFILES, GDBSERVER_LIBS): Define for gdbserver.
1027 (SIM): Remove -lm to prevent make errors.
1028 * configure.tgt: add gdbserver to configdirs for tic80.
1029 * gdbserver/utils.c (error): Change prototype to match defs.h.
1030 * gdbserver/low-sim.c: Change simulator calls to use new interface.
1031 * remote.c (remote_write_bytes): Include '$' at start of packet
1032 and checksum at end of packet in overhead calculation.
1036 * ser-ocd.c: If _WIN32, include <windows.h>.
1037 (dll_do_command): New static variable if _WIN32.
1038 (ocd_open): Set dll_do_command if _WIN32.
1039 (ocd_write): Use dll_do_command rather than do_command.
1040 * config/i386/cygwin32.mh (XDEPFILES): Remove libwigglers.a.
1041 (BDM_DLLNAME, BDM_LIBNAME, BDM_DEFFILE): Don't define.
1042 ($(BDM_LIBNAME)): Remove target.
1043 * wigglers.def: Remove.
1045 * config/i386/cygwin32.mh ($(BDM_LIBNAME)): Rename target from
1047 (libwigglers.a): Remove target.
1051 * config/powerpc/ppc{,le}-{eabi,sim}.mt (TDEPFILES): Make sure
1052 ppc-bdm.o and ocd.o are used for all powerpc-eabi targets.
1056 Changes to OCD support to support wiggler box as well as
1058 * ocd.c: change speed in init command to 0 from 80,
1059 add (temporary) logging commands to help debugging,
1060 (ocd_open): if "target ocd wiggler lpt" then use special
1061 ser-ocd.c serial interface which communicates with Wigglers.dll,
1062 otherwise ("target ocd <foo>") do as we did before
1063 (ocd_get_packet): add OCD_LOG_FILE and OCD_SET_CONNECTION to
1064 switch of known commands of len 0
1065 * ocd.h: add OCD_LOG_FILE
1066 * serial.c (serial_open): do serial_interface_lookup on ocd
1068 * ser-ocd.c: add buffer to contain responses from sending a
1069 command to the Wigglers.dll.
1070 (ocd_readchar): return curr char from buffer and increment ptr
1071 (ocd_write): send buffer to Wigglers.dll, storing response in
1072 return buffer and initializing curr location ptr to start of
1077 * ocd.h: add OCD_SET_CONNECTION
1078 * ocd.c: rename "do_command" to "ocd_do_command"
1082 Nomenclature change. BDM is a specific type of OCD
1083 (On Chip Debugging). Wiggler is the parallel port box controlled
1084 by Wigglers.dll. The faster target box from Macraigor Systems
1090 Replace all instances of "wiggler_" with "ocd_" and change most other
1091 instances of "wiggler" to "ocd" or "ocd device" depending on context.
1092 * config/m68k/monitor.mt: remove remote-wiggler.o from TDEPFILES
1093 until OCD with that target is supported again.
1097 * Makefile.in: add DLLTOOL = @DLLTOOL@, pass on DLLTOOL to
1098 sub makes, change clean rule to also remove *.a to remove
1099 libwigglers.a, in dependencies: add ppc-bdm.o ocd.o ser-ocd.o and
1100 remove remote-wiggler.o
1101 * configure.in: add DLLTOOL support
1102 * configure: regenerate
1103 * wigglers.def: new file for imports for wigglers.dll
1104 * ser-ocd.c: new file which is layer between ocd.c and either the
1105 wigglers.dll or the target box, only stub so far
1106 * config/powerpc/ppc-eabi.mt: add ppc-bdm.o to TDEPFILES
1107 * config/powerpc/ppc-sim.mt: add ppc-bdm.o to TDEPFILES
1108 * config/i386/cygwin32.mh: add ocd.o ser-ocd.o libwigglers.a
1109 to XDEPFILES, add rules to build libwigglers.a
1112 * remote-wiggler.c: delete
1113 * ocd.c: new, was remote-wiggler.c
1114 always include sys/types.h, include ocd.h, move WIGGLER
1115 commands and many wiggler prototypes to ocd.h, make wiggler_desc
1116 static, stop making local wiggler functions static,
1117 define write_mem_command for wiggler_write_bytes
1118 (wiggler_start_remote): stop hardcoding the target type,
1119 instead set and use a target_type variable.
1120 (wiggler_open): add new target_type and ops args
1121 (wiggler_wait): now no longer takes pid and target_status as args,
1122 stop trying to set target_status struct, remove BGND insn
1124 (read_bdm_registers): renamed to wiggler_read_bdm_registers
1125 (wiggler_read_bdm_registers): numregs arg changed to reglen arg,
1126 remove pktlen check, set reglen instead of numregs
1127 (dump_all_bdm_regs): delete
1128 (wiggler_fetch_registers): delete
1129 (wiggler_prepare_to_store): now just an empty function
1130 (wiggler_store_registers): delete
1131 (wiggler_read_bdm_register): new
1132 (wiggler_write_bdm_registers): new
1133 (wiggler_write_bdm_register): new
1134 (wiggler_write_bytes): use write_mem_command variable instead of
1136 (get_packet): renamed to wiggler_get_packet, change refs throughout
1137 (put_packet): renamed to wiggler_put_packet, change refs throughout
1138 (wiggler_get_packet): add break to default case of switch,
1139 change length of WIGGLER_GET_VERSION len to 10 from 4 to match
1141 (wiggler_mourn): unpush_target with current_ops, not &wiggler_ops
1142 (flash_xfer_memory): delete
1143 (noop_store_registers): new placeholder replacement for
1144 target_store_registers() which prevents generic_load from trying to
1146 (bdm_update_flash_command): add store_registers_tmp variable,
1147 make handling of wiggler_ops more generic -- define wiggler_ops
1148 in a target-specific file instead (such as ppc-bdm.c in the case
1149 of the ppc), use current_target to deal with registers again
1150 making this file less target-specific.
1151 (bdm_read_register_command): new
1152 (_initialize_remote_wiggler): stop doing add_target (&wiggler_ops),
1153 comment out add_cmd ("read-register", ...)
1154 * ocd.h: new, contains common wiggler prototypes, command definitions
1155 * ppc-bdm.c: file for ppc-specific OCD code, including target_ops
1156 structure for ppc bdm
1159 (bdm_ppc_fetch_registers): new
1160 (bdm_ppc_store_registers_: new
1161 (_initialize_bdm_ppc): new
1162 * config/powerpc/tm-ppc-eabi.h: add necessary CPU32 BDM defines
1166 * tic80-tdep.c (tic80_init_extra_frame_info): Allow zero
1167 as a valid SP-relative offset of a saved register.
1171 * hpread.c (hpread_read_struct_type): Use accessor macros rather
1172 than directly mucking around with data structures.
1176 * gdbtypes.h: Re-interpret struct field. Suppport address of static.
1177 Add a bunch of macros.
1178 * coffread.c, dwarf2read.c, dwarfread.c, mdebugread.c, stabsread.c:
1179 Update to use new macros.
1180 * coffread.c, hpread.c, stabsread.c: Remove bugus TYPE_FIELD_VALUE.
1181 * value.h, values.c (value_static_field): New function.
1182 * cp-valprint.c, valops.c: Modify to use value_static_field.
1184 * jv-lang.c (get_java_utf8_name): Re-write so it works with
1185 implied (missing) data field, as defined by cc1java.
1186 (java_link_class_type): Type length and field offset (in interior)
1187 now includes object header. Get static fields working.
1188 * jv-lang.h (JAVA_OBJECT_SIZE): Update for change in Kaffe.
1189 * jv-typeprint.c (java_type_print_derivation_info,
1190 java_type_print_base): New functions, for better Java output.
1191 * jv-valprint.c: Start to support Java-specific output.
1195 * c-valprint.c (c_val_print): Use extract_address to retrieve
1196 the address of the virtual function.
1199 * eval.c (evaluate_subexp_standard), valarith.c (value_x_unop):
1200 Handle C++ operator *.
1204 * configure.in: Check for cygwin32 environment. Define and
1205 substitute WIN32LIBS and WIN32LDAPP. Always set configdir to
1206 unix; setting it to win was for an old Tcl/Tk configuration
1208 * Makefile.in (TK_CFLAGS): Add @TK_BUILD_INCLUDES@.
1209 (WIN32LDAPP, WIN32LIBS): Define.
1210 (CLIBS): Add $(WIN32LIBS).
1211 (gdb): Use $(WIN32LDAPP).
1212 * configure: Rebuild.
1216 * symtab.h (SYMBOL_INIT_LANGUAGE_SPECIFIC, SYMBOL_INIT_DEMANGLED_NAME,
1217 SYMBOL_DEMANGLED_NAME): Add demangling support for Java.
1218 * utils.c (fprintf_symbol_filtered): Handle language_java.
1220 * symtab.c (decode_line_1): Handle Java-style package.class.method.
1224 * java-*: Renamed to jv-*, to make fit within 14 characters.
1225 * jv-lang.h (java_type_print): Added declaration.
1226 * jv-typeprint.c: New file. Provides java_print_type.
1227 * jv-lang.c (java_link_class_type): New function.
1228 (java_language_defn): Replace c_print_type by java_print_type.
1229 * Makefile.in: Update accordingly.
1233 * Makefile.in (init.c): except some mswin files do need to be
1238 * Makefile.in (init.c): don't try to scan mswin for _initialize
1239 funcs. (generates misleading error message because files have
1240 .cpp suffix, not .c suffix)
1244 * ser-e7kpc.c: <w32sut.h> -> "mswin/w32sut.h"
1248 * xcoffread.c (coff_getfilename): Do not strip directory component
1253 * mon960-rom.c: removed unused #includes; no ioctl.h in Windows.
1254 * nindy-share/ttyflush.c: find sleep() for _MSC_VER.
1255 * remote-array.c: #include <ctype.h> for isascii().
1256 * utils.c (notice_quit,pollquit): cleanup. _WIN32 -> _MSC_VER.
1260 * top.c (execute_command): Force cleanup of alloca areas.
1261 * findvar.c (registers_changed): Likewise.
1265 * v850ice.c: Include <windows.h>. Support new v850 DLL interface.
1266 * Add defs for target status.
1270 * config/mips/tm-mips64.h: longs, long longs, and pointers
1271 are all 64 bits on EABI mips targets.
1275 * partial-stab.h (case N_BINCL): detect missing partial symtab.
1276 * dbxread.c: Add a complaint for N_BINCL without a corresponding
1277 partial symtab. Remove earlier change of 5/27/97.
1281 * sol-thread.c (sol_thread_[store, fetch]_registers): if
1282 inferior_pid is an LWP rather than a Solaris thread, let
1283 procfs handle the request.
1284 (rw_common, sol_thread_xfer_memory): procfs_xfer_memory will
1285 only work if inferior_pid points to an LWP (rather than a
1286 Solaris thread). Use procfs_first_available to find a good LWP.
1287 (info_solthreads): added a maintenance command to list all
1288 known Solaris threads and their attributes.
1289 * mips-tdep.c (mips_do_registers_info): Completely changed the
1290 output format to be neat and columnar. Added the helper funcs
1291 do_fp_register_row and do_gp_register_row. Also small mods to
1292 mips_print_register, which is still used to print a single reg.
1296 * procfs.c (wait_fd): Handle an fd that has "hung up" or
1297 otherwise terminated (Solaris threads).
1301 * defs.h (init_ui_hook): Change prototype to accept one arg.
1302 * main.c (gdb_init): Change prototype to accept one arg.
1303 * top.c (gdb_init): Accepts one argument which it uses to
1304 call (*init_ui_hook).
1308 * source.c (OPEN_MODE, FDOPEN_MODE): Define; value depends upon
1309 whether CRLF_SOURCE_FILES is defined.
1310 (open_source_file): Use OPEN_MODE with open and openp.
1311 (print_source_lines): Use FDOPEN_MODE with fdopen. If
1312 CRLF_SOURCE_FILES is defined, ignore \r characters.
1313 (forward_search_command): Use FDOPEN_MODE with fdopen.
1314 (reverse_search_command): Likewise.
1315 * config/i386/xm-cygwin32.h (CRLF_SOURCE_FILES): Define.
1316 (LSEEK_NOT_LINEAR): Don't define.
1320 * mips-tdep.c (mips_extract_return_value): align 4-byte float
1321 return values within the 8-byte FP register.
1325 * mips-tdep.c (mips_push_arguments): don't left-adjust 32-bit
1326 integers in 64-bit register parameters before function calls.
1330 * mips-tdep.c (mips_push_arguments): special-case handling for
1331 odd-sized struct parameters passed in registers / on stack.
1335 * mips-tdep.c (mips_push_arguments): tweak alignment of small
1336 structs passed in registers for little-endian non-EABI mode.
1340 * breakpoint.c (frame_in_dummy): use generic dummy if available.
1341 (check_duplicates, clear_command): compare sections only if
1342 doing overlay debugging.
1346 * buildsym.h (struct subfile): Add debugformat member.
1347 (record_debugformat): Declare global function.
1348 * buildsym.c (start_subfile): Initialize debugformat member
1350 (record_debugformat): New function to record the format.
1351 (end_symtab): Copy format into symtab debugformat member.
1352 (end_symtab): Free subfile debugformat member.
1353 * symmisc.c (free_symtab): Free debugformat when freeing
1355 * symfile.c (allocate_symtab): Initialize the new debugformat
1356 member for new symtabs.
1357 * symtab.h (struct symtab): Add debugformat member.
1358 * source.c (source_info): Print the debug format.
1360 * os9kread.c (os9k_process_one_symbol): Call record_debugformat
1362 * hpread.c (hpread_expand_symtab): Call record_debugformat
1364 (hpread_process_one_debug_symbol): Ditto.
1365 * dbxread.c (process_one_symbol): Call record_debugformat
1367 * coffread.c (coff_start_symtab): Call record_debugformat
1369 * xcoffread.c (read_xcoff_symtab): Call record_debugformat
1371 * dwarfread.c (read_file_scope): Call record_debugformat
1373 * dwarf2read.c (read_file_scope): Call record_debugformat
1375 * dstread.c (dst_end_symtab): Set debugformat to be
1377 * mdebugread.c (new_symtab): Set debugformat to be "ECOFF".
1381 * mips-tdep.c (mips_push_arguments): handle alignment of
1382 integer and struct args on stack for mips64 big-endian.
1386 * config/mips/tm-mips.h (USE_STRUCT_CONVENTION): MIPS_EABI returns
1387 structs in a register wherever possible.
1388 * mips-tdep.c (mips_extract_return_value): handle structs.
1389 (mips_store_return_value): handle values smaller than MIPS_REGSIZE
1390 (including structs, if gdb ever allows it).
1394 * sh-tdep.c (sh_skip_prologue): Also recognize fmov insns.
1395 (sh_frame_find_saved_regs): Recognize fmov insns and adjust
1396 stack push count accordingly.
1397 * sh-tdep.c (IS_FMOV, FPSCR_SZ): New defines
1401 * utils.c (floatformat_from_doublest): Improve test for infinity.
1405 * dwarfread.c (isreg, optimized_out, offreg, basereg): Move
1406 global variables into the struct dieinfo structure.
1407 (locval): Pass pointer to a dieinfo struct rather than a
1408 pointer to the raw location information. Change prototype.
1409 Set isreg, optimized_out, offreg and basereg as appropriate.
1410 (struct_type): Call locval with dieinfo struct pointer.
1411 (new_symbol): Ditto.
1412 (new_symbol): Call locval and save location before testing
1413 the values of the new dieinfo struct flags, set by locval.
1417 * procfs.c (proc_set_exec_trap, procfs_init_inferior, procfs_wait,
1418 unconditionally_kill_inferior): Undo Oct 26 1996 and Apr 26 1997
1419 changes to trace PRFS_STOPTERM and handle PR_DEAD.
1420 These changes tried to work around a problem with an early DU 4.0
1421 release, but they trigger subtle timing dependent kernel bugs
1422 in older OSF/1 releases.
1426 * dwarfread.c (new_symbol): Use SYMBOL_VALUE_ADDRESS, instead of
1427 SYMBOL_VALUE, to set the value of LOC_STATIC symbols.
1431 * infrun.c (wait_for_inferior): Mark registers as invalid when
1432 stepping over an instruction that triggered a watchpoint.
1433 * remote-mips.c: Numerous changes to support hardware breakpoints
1434 and watchpoints on LSI MiniRISC and TinyRISC boards.
1435 * mips-tdep.c: Move MIPS16-related macros to config/mips/tm-mips.h.
1436 (mips_breakpoint_from_pc): Account for different breakpoint
1437 instructions used by PMON and IDT monitor.
1438 * config/mips/tm-embed.h: Enable hardware breakpoints on embedded
1440 * config/mips/tm-mips.h: Define breakpoint instructions for
1441 PMON and IDT monitor. Move MIPS16-related macros here from
1446 * config/mips/tm-tx39[l].h, tx39[l].mt: change r3900 target to tx39.
1450 * mn10300-tdep.c (mn10300_analyze_prologue): Fix some comments.
1451 Add missing return statements after finding an "add imm{16,32},sp"
1453 (mn10300_frame_chain): Add in size of our register save area to find
1454 our caller's frame if our caller does not have a frame pointer.
1458 * symfile.c (generic_load): Check return code of target_write_memory.
1462 * config/i386/nm-linux.h: Enable prototypes that were #ifdef out.
1463 * config/tm-sysv4.h (in_plt_section): Add prototype.
1465 * maint.c (maintenance_translate_address): Avoid assignment
1466 inside if, per GNU coding standards.
1467 * symfile.c (simple_read_overlay_table): Avoid assignments inside if,
1468 per GNU coding standards.
1470 * monitor.c (parse_register_dump): Is really a void function.
1472 (monitor_read_memory): Remove unused variable "name".
1473 (monitor_read_memory): Remove unused variable "regbuf".
1474 (monitor_open): Remove unused variable "i".
1475 (get_hex_word): Apparently unused, #if away for now.
1478 * i386v4-nat.c (supply_fpregset): Remove unused variable "regi".
1479 (fill_fpregset): Remove unused variables "regi", "to", "from" and
1482 * remote-e7000.c (ctype.h): Include.
1483 (e7000_insert_breakpoint): #if away unused arg used by unused expr.
1484 * frame.h (generic_get_saved_register): Add prototype.
1485 (enum lval_type): Add partial forward decl.
1486 * dsrec.c (make_srec): Remove unused variable "type_code".
1487 * remote-sim.c (gdbsim_wait): Handle sim_running and sim_polling
1488 cases by just ignoring them.
1489 (command.h): Include.
1491 * java-exp.y (parse_number): Remove unused variable "unsigned_p".
1492 * java-lang.c (gdbcore.h): Include for prototypes.
1493 (type_from_class): Remove unused variable "ftype".
1494 (type_from_class): Remove unused variable "name_length".
1495 (evaluate_subexp_java): Add default case to handle remaining
1497 * java-valprint.c (c-lang.h): Include for prototypes.
1499 * symfile.c (simple_read_overlay_region_table): #if away
1501 (simple_free_overlay_region_table): Ditto.
1502 (overlay_is_mapped): Add default case to switch.
1503 (simple_read_overlay_region_table): Ditto.
1504 (simple_read_overlay_region_table): Add prototype.
1506 * symtab.c (fixup_symbol_section): Remove unused msym variable.
1507 (fixup_psymbol_section): Ditto.
1508 (find_pc_sect_symtab): Make distance a CORE_ADDR.
1510 * utils.c: Add comment about t_addr being either unsigned long or
1512 (paddr): Change formats to match actual types args are cast to.
1517 * defs.h (perror_with_name): Is a NORETURN function.
1518 * utils.c (perror_with_name): Is a NORETURN function.
1519 (error): Is NORETURN independently of ANSI_PROTOTYPES.
1521 * symtab.c (fixup_symbol_section): Remove prototype.
1522 * symtab.h: (fixup_symbol_section): Add prototype.
1523 * m32r-rom.c (report_transfer_performance): Add prototype.
1524 * sparclet-rom.c: Ditto.
1527 * c-exp.y (parse_number): Cast args to float* or double* as
1528 appropriate for conversion format.
1529 * java-exp.y (parse_number): Ditto.
1531 * Makefile.in (c-exp.tab.c): Remove #line lines that refer
1532 to nonexistant y.tab.c file.
1533 (java-exp.tab.c): Ditto.
1534 (f-exp.tab.c): Ditto.
1535 (m2-exp.tab.c): Ditto.
1537 * sh-tdep.c (symfile.h): Include.
1538 (gdb_string.h): Include.
1539 (sh_fix_call_dummy): Ifdef away, currently unused.
1540 * config/sh/tm-sh.h (pop_frame): Add prototype.
1541 * config/sh/tm-sh.h (sh_set_processor_type): Add prototype.
1545 * eval.c (evaluate_subexp_for_sizeof): Handle dereferencing
1546 of non-pointer values.
1548 * symtab.c (gdb_mangle_name): Improve mangling of nested types,
1549 their physical names already include the class name.
1551 * valops.c (value_cast): Handle upcast of a class pointer.
1554 * corelow.c (get_core_registers): Make secname big enough.
1558 * config/sh/tm-sh.h: add define for FPSCR_REGNUM
1559 * sh-tdep.c (sh_show_regs): print out all registers for
1560 the current processor
1564 * remote-sim.c (gdbsim_kill): Remove call to depreciated function
1569 Fixes for recent correction to PE format:
1570 * coffread.c (pe_file): New static variable.
1571 (struct find_targ_sec_arg): Change resultp from pointer to int to
1572 pointer to pointer to asection.
1573 (find_targ_sec): Just store the section in args->resultp, not the
1574 section offset value.
1575 (cs_to_section): Compute the section offset value from the
1577 (cs_section_address): New static function.
1578 (coff_symfile_read): Set pe_file.
1579 (read_one_sym): When reading a PE file, adjust the symbol value to
1580 include the section address if the symbol has an appropriate
1585 * configure.tgt: add mipsr3900-elf target
1586 * config/mips/r3900.mt r3900l.mt tm-r3900.h tm-r3900l.h: ditto
1590 * dbxread.c: Check malloc's return for null, prevent segv.
1594 * infcmd.c (jump_command): Don't try to dereference sfn if it's
1599 * top.c (init_cmd_lists): Always initialize endianlist.
1600 (init_main): Always define endian commands.
1601 (set_endian_big): Issue warning if endian not selectable.
1602 (set_endian_little): Ditto.
1603 (set_endian_auto): Ditto.
1607 * remote-sim.c (simulator_command): Restrict access to the
1608 simulator to periods when the simulator is open.
1612 * procfs.c (init_procinfo): new function, abstracts some code
1613 shared by create_procinfo and do_attach;
1614 (procfs_set_inferior_syscall_traps): new function, abstracts
1615 some code needed by procfs_init_inferior, do_attach, and
1616 procfs_lwp_creation_handler; (procfs_first_available): new
1617 function, find any LWP that's runnable; (procfs_thread_alive):
1618 replace stub function with real implementation;
1619 (procfs_lwp_creation_handler): fix bug starting new child
1620 threads; (info_proc): bug fixes and enhancements for the
1621 "INFO PROCESSES" command; (close_procinfo_file): call new
1622 function "delete_thread" to cleanup GDB's thread database;
1623 (proc_init_failed): add new argument "kill", to control whether
1624 process is killed (so this function can be shared by
1625 create_procinfo and do_attach); (procfs_exit_handler): handle
1626 exit from an attached process, and cleanup procinfo handles
1627 when the process exits; (procfs_resume, procfs_wait): cleanup
1628 after a thread when it exits; (do_attach, do_detach): handle
1629 attached processes with multiple threads; plus some general
1630 improvements in the diagnostic output.
1631 * sol-thread.c (sol_thread_alive): replace stub with real
1632 implementation; (thread_to_lwp, lwp_to_thread): enhance to
1633 handle threads that may have exited; (sol_thread_attach): add
1634 startup setup stuff; (sol_thread_detach): add unpush_target
1635 call; (sol_thread_mourn_inferior): add unpush_target call;
1636 (sol_thread_wait, sol_thread_resume): enhance to deal with
1637 thread exit cleanly; (sol_thread_new_objfile,
1638 sol_thread_pid_to_str): detect unsuccessful startup and
1639 don't crash; plus some general cleanup.
1640 * thread.c (delete_thread): new function, allows targets to
1641 notify gdb when a thread is no longer valid.
1642 * infrun.c (wait_for_inferior): don't try to detect a new
1643 thread on receiving a TARGET_EXITED event.
1647 * remote-sim.c (gdbsim_open): Pass callback struct.
1648 (init_callbacks): Remove call to sim_set_callbacks.
1652 * config/rs6000/tm-rs6000.h (SIG_FRAME_LR_OFFSET): Define.
1653 * rs6000-tdep.c (frameless_function_invocation): Mark frames
1654 with a zero PC as frameless to improve backtraces from core dumps
1655 caused by dereferencing a NULL function pointer.
1656 (frameless_function_invocation, frame_saved_pc, rs6000_frame_chain):
1657 Handle frameless functions interrupted by a signal.
1659 * sparc-tdep.c (sparc_init_extra_frame_info, sparc_frame_saved_pc):
1660 Handle frameless functions interrupted by a signal.
1664 * mn10200-tdep.c (mn10200_analyze_prologue): Update prologue comments
1665 to reflect current reality. Gross attempt at handling out of
1668 * mn10200-tdep.c (mn10200_skip_prologue): Don't look at the debug
1669 symbols to find the end of the prologue.
1670 * mn10300-tdep.c (mn10300_skip_prologue): Likewise.
1674 * config/tic80/tm-tic80.h (NUM_REGS): 38 not 37.
1678 * tic80-tdep.c, config/tic80/tm-tic80.h: First cut at getting
1679 basic C80 features working.
1683 * configure.in (AC_TYPE_SIGNAL): Add
1684 * configure: Re-generate.
1685 * remote-sim.c: Signal returns RETSIGTYPE.
1689 * target.h (target_stop): Drop argument so it can be tested for
1694 * utils.c (floatformat_from_doublest): Handle infinity properly.
1698 * Finalize merge from Hurd folk.
1700 * thread.c (thread_apply_command, thread_apply_all_command,
1701 thread_command): Make sure TP is alive.
1702 (thread_alive): New function.
1704 * infrun.c (sig_print_info): Deal better with long signal names.
1706 * thread.c (thread_id_to_pid): New function.
1708 * gnu-nat.c: (set_thread_cmd_list, show_thread_cmd_list,
1709 set_thread_default_cmd_list, show_thread_default_cmd_list):
1710 New variables. (set_thread_cmd, show_thread_cmd,
1711 set_thread_default_cmd, show_thread_default_cmd): New functions.
1713 * gnu-nat.c (inf_startup): remove TASK parameter.
1714 (inf_set_task): replace with new function (inf_set_pid).
1715 * gdbthread.h: Add extern decl for thread_cmd_list.
1719 * printcmd.c (disassemble_command): Adjust low function bound
1720 by FUNCTION_START_OFFSET.
1724 * config/tic80/tm-tic80.h (BREAKPOINT): Set it to trap 73.
1728 * Makefile.in: Add rule for gnu-nat.o and i386gnu-nat.o (Gnu Hurd)
1729 * config/i386/i386gnu.mh: remove rules for [i386]gnu-nat.o, now
1730 in Makefile.in (as for other targets); add NATDEPFILE corelow.o to
1731 satisfy symbol dependancy in solib.c (core_ops).
1732 * target.[ch] conditionalize Mach-specific signals so that they
1733 won't show up in non-Mach gdb's!
1734 * thread.c: change name of static function "thread_switch" to
1735 "switch_to_thread", to avoid conflict with Mach global symbol;
1736 move thread_cmd_list to global scope so targets can add their
1737 own thread commands.
1738 * infrun.c: sig_print_info: allow for long signal names.
1739 * gnu-nat.[ch]: tidying up comments.
1740 * gnu-nat.c: remove calls to prune_threads and renumber_threads;
1741 gnu_wait must not return -1 when inferior exits;
1742 attach_to_child will modify inferior_pid in a way that allows
1743 fork_inferior to remain unchanged; remove extra arg from
1744 startup_inferior; move Mach thread commands here from thread.c.
1748 * symtab.c: decode_line_1, replace the assignment to
1749 values.sals[0].pc which I accidentally left out on 4/3/97.
1753 * c-exp.y: make parse_number reject "123DEADBEEF".
1754 (fix by Bob Manson).
1755 * java-exp.y: Ditto.
1756 * top.c: change "to enable to enable" to "to enable" in a couple
1761 * breakpoint.c (remove_breakpoint): Pass correct type to
1762 target_remove_watchpoint.
1763 * target.h: Improve comment for target_{remove,insert}_breakpoint.
1767 * alpha-tdep.c (heuristic_proc_desc): Increase search limit
1768 for return address register, handle `ret' instruction.
1770 * corelow.c (get_core_registers): Initialize cf.
1772 * procfs.c: Minor changes to make pre-ANSI compilers happy.
1773 (procfs_notice_signals): Copy traced signal set back to
1775 (unconditionally_kill_inferior): If PR_DEAD is defined,
1776 rerun inferior after killing it.
1780 * config/mn10300/tm-mn10300.h (EXTRACT_STRUCT_VALUE_ADDRESS): The
1781 structure value address is found in $a0 now.
1782 * config/mn10200/tm-mn10200.h (EXTRACT_STRUCT_VALUE_ADDRESS): Likewise.
1786 * config/mn10300/tm-mn10300.h (STORE_RETURN_VALUE): Pointers are
1788 (EXTRACT_RETURN_VALUE): Likewise.
1790 * mn10300-tdep.c (mn10300_analyze_prologue): Check for a return
1791 insn at "pc", not "fi->pc".
1795 * config/tic80/tm-tic80.h (NUM_REGS): Four 64bit accumulators.
1796 (REGISTER_BYTE, REGISTER_RAW_SIZE, REGISTER_SIZE,
1797 MAX_REGISTER_RAW_SIZE, REGISTER_VIRTUAL_TYPE): Adjust.
1798 (NPC_REGNUM): Tic80 has a delay slot.
1799 (R0_REGNUM, Rn_REGNUM, An_REGNUM): For sim, provide base/bound for
1804 * config/mn10200/tm-mn10200.h (STORE_RETURN_VALUE): Pointers are
1806 (EXTRACT_RETURN_VALUE): Likewise.
1810 * config/arm/tm-arm.h (TARGET_DOUBLE_FORMAT): Define to use
1811 floatformat_ieee_double_littlebyte_bigword for little endian
1813 * utils.c (floatformat_to_doublest): Create local preswapped
1814 copy of input for floatformat_littlebyte_bigword formats.
1815 (get_field, put_field): Treat floatformat_littlebyte_bigword
1816 the same as floatformat_little.
1817 (floatformat_from_doublest): Postswap output words for
1818 the floatformat_littlebyte_bigwords format.
1822 * config/tic80/tic80.mt (SIM): Link in simulator.
1826 * config/alpha/alpha-osf3.mh config/i386/{i386gnu linux}.mh
1827 config/mips/{embed embed64 embedl embedl64 vr4300 vr4300el vr5000
1828 vr5000el}.mt config/powerpc/{aix aix4}.mh config/rs6000/{aix
1829 aix4}.mh config/sh/sh.mt config/sparc/sp64sim.mt:
1830 config/v850/v850.mt:
1831 Remove -lm. That's now handled by configure.
1833 * Makefile.in (maintainer-clean): Add distclean to dependencies.
1834 Remove duplicate rm's of files.
1838 * remote-pa.c: Remove. It's broken and no longer necessary.
1842 * java-exp.y: Combine TRUE and FALSE into BOOLEAN_LITERAL.
1843 (Avoids name clash with broken AIX header files.)
1847 * serial.c (serial_log_command): Fix fputs_unfiltered calls.
1849 * config/powerpc/tm-ppc-aix4.h, config/rs6000/tm-rs6000-aix4.h
1850 (DONT_RELOCATE_SYMFILE_OBJFILE): Removed.
1851 * xcoffsolib.h (struct vmap): Add new members tvma, toffs and dvma,
1853 * exec.c (bfdsec_to_vmap): Initialize new vmap members, initialize
1854 tstart and dstart with section VMA.
1855 * rs6000-nat.c (vmap_symtab): Relocate relative to the VMA in the
1857 (vmap_ldinfo, xcoff_relocate_core): Adjust tstart by section offset
1858 of the text section, remove DONT_RELOCATE_SYMFILE_OBJFILE hack.
1859 (vmap_exec): Relocate relative to the VMA in the object file,
1860 relocate .bss section as well.
1861 (xcoff_relocate_core): No longer adjust section addresses by VMA.
1862 * rs6000-tdep.c (find_toc_address): Change type of tocbase
1864 * xcoffread.c (secnum_to_bfd_section): New routine to get
1865 BFD section from CS section number.
1866 (scan_xcoff_symtab): Make toc_offset section relative.
1868 * symtab.c (total_number_of_methods): Avoid core dump if
1869 baseclass type is still undefined.
1873 * Makefile.in (SUBDIRS): Add mswin so that make cleanup cleans up
1875 * defs.h utils.c (error warning): Make message be const.
1876 * main.c (fputs_unfiltered): Only send gdb_stdout and gdb_stderr
1877 to hook. Otherwise send it to fputs.
1878 * monitor.c monitor.h (monitor_get_dev_name): New function. Does
1880 * remote-e7000.c: Remove debugify stuff. Change printf, fprintf
1881 to _filtered forms to make output appear in GUIs. Replace all
1882 uses of SERIAL_READCHAR with readchar, which has better error
1884 * (e7000_parse_device): Add prototype.
1885 (readchar): Improve doc. Handle random serial errors.
1886 (expect): Disable notice_quit code. It's busted. Remove
1887 serial error handling (it's now handled in readchar). Remove
1888 remote_debug echoing. That's handled in readchar as well.
1889 (e7000_parse_device): Remove serial_flag arg. It's not
1891 (e7000_open): Split into two pieces. Second part is
1892 e7000_start_remote, and is error protected. Now, when we connect
1893 to the target, we setup the initial frame and registers so that
1894 the user gets an immediate indication of where the target is.
1895 (gch): Remove debug output. That's handled by readchar.
1896 (e7000_read_inferior_memory): Handle errors better.
1897 (_initialize_remote_e7000): Get rid of `<xxx>' things from
1898 command names. They show up when doing completion and confuse
1900 * ser-e7kpc.c: Get rid of the DLL's since we can access the device
1901 directly from Win32s and Win95. Get rid of debugify crud.
1902 * serial.c: Remove debugify cruft.
1903 * (serial_logchar serial_log_command serial_write serial_readchar
1904 serial_send_break serial_close): Merge common functionality into
1905 serial_logchar. Clean up rest of routines.
1906 * sparclet-rom.c: Disembowel. Leave only download routine.
1907 Download routine now switches to remote target automatically.
1908 * top.c (disconnect): Only define if SIGHUP is defined. Cleans
1909 up MSVC/Win32 problem.
1910 * utils.c (gdb_flush): Don't call hook unless it's for gdb_stdout
1912 * config/sh/tm-sh.h: Define TARGET_SH for WinGDB.
1913 * config/sparc/tm-sparclet.h: Remove override for prompt.
1917 * remote-sim.c (gdbsim_open): Only pass -E to sim_open if
1918 TARGET_BYTE ORDER_SELECTABLE.
1922 * remote-sim.c (init_callbacks): Initialize poll_quit and magic
1923 fields of gdb_callback.
1924 (gdbsim_stop): Add gdbsim_stop to list of supported client
1926 (gdbsim_wait, gdbsim_resume): Move call to sim_resume into
1927 sim_wait where gdb is in a position to handle a long running
1929 (gdbsim_cntrl_c): New function. Wrap the sim_resume call in a
1931 (gdb_os_poll_quit): New function. Check for a quit pending on the
1936 * objfiles.c (allocate_objfile): Allow NULL bfd argument.
1937 * defs.h (enum language): Add language_java.
1938 * java-exp.y, java-lang.c, java-lang.h, java-valprint.c: New files.
1939 * Makefile.in: Update for new files.
1940 * symfile.c (deduce_language_from_filename): Recognize .java.
1944 * m32r-stub.c (stash_registers): Rewrite.
1945 (restore_registers): Renamed to restore_and_return.
1946 (cleanup_stash): New function.
1947 (process_exception): New function.
1948 (_catchException*): Rewrite.
1950 * remote-sim.c (gdbsim_load): Update call to sim_load.
1951 (gdbsim_create_inferior): No longer pass start_address to
1952 sim_create_inferior.
1953 (gdbsim_open): Pass endian indicator as arg.
1957 * remote.c (get_offsets): Don't use scanf for interpreting
1958 response to qOffsets.
1962 * gdbserver/Makefile.in (INSTALL_XFORM): Remove.
1963 (INSTALL_XFORM1): Remove.
1964 (install-only): Use $(program_transform_name) directly, rather
1965 than using $(INSTALL_XFORM) and $(INSTALL_XFORM1).
1966 (uninstall): Transform name.
1970 * remote-mips.c (mips_load): Ensure that PC gets updated
1971 after a load on LSI target.
1975 * procfs.c (notice_signals): fix typo
1979 * gdbserver/Makefile.in (INSTALL): Change install.sh to
1984 * config/i386/cygwin32.mh: remove -lkernel32 from XM_CLIBS
1985 since gcc automatically includes it
1989 * procfs.c: Substantial (but incomplete) changes to support
1990 sysv4.2mp procfs as implemented in UnixWare 2.1. The procinfo
1991 struct now has substructs like struct flt_ctl instead of
1992 just a fltset_t and has a ctl_fd, status_fd, as_fd, and
1993 map_fd instead of a single fd. Non-sysv4.2mp procfs models
1994 still have the structs and multiple fds, but don't use the
1995 entire struct and the four fds all point to the same thing.
1996 We use PROCFS_USE_READ_WRITE to decide whether to talk to
1997 procfs with reads/writes or use ioctl instead. We use
1998 HAVE_MULTIPLE_PROC_FDS to determine whether procfs really has
1999 multiple fds or not. PROC_NAME_FMT is split out into
2000 CTL_PROC_NAME_FMT, AS_PROC_NAME_FMT, MAP_PROC_NAME_FMT,
2001 STATUS_PROC_NAME_FMT.
2003 (procfs_notice_signals): now a necessary wrapper around
2004 (notice_signals): which are the new guts for noticing signals
2005 (open_proc_file): gets a new flag arg used in sysv4.2mp to
2006 determine whether or not to attempt to open the ctl_fd.
2007 (procfs_read_status): new local function, reads procfs status
2008 (procfs_write_pcwstop): new local function, writes a PCWSTOP
2009 (procfs_write_pckill): new local function, writes a PCKILL
2010 (unconditionally_kill_inferior): remove signo since we now
2011 just call procfs_write_pckill().
2012 (procfs_xfer_memory): call lseek with SEEK_SET rather than 0
2013 (proc_iterate_over_mappings): the whole function is ifdefed
2014 on UNIXWARE to keep things readable.
2016 Expanded the syscall_table to include new potential sysv4.2mp
2017 members. Note that all ifdefs of UNIXWARE should be eliminated
2018 if possible or renamed to describe what's being selected for a
2019 bit better. Sysv4.2mp and IRIX both have SYS_sproc so the
2020 IRIX specific code now also checks it's not UNIXWARE.
2022 * config/i386/tm-i386v42mp.h: also define HAVE_PSTATUS_T,
2023 HAVE_NO_PRRUN_T, PROCFS_USE_READ_WRITE, and UNIXWARE
2024 * config/mips/nm-irix4.h: set CTL_PROC_NAME_FMT et al to
2025 "/debug/%d" as PROC_NAME_FMT used to be
2029 * mn10300-tdep.c: Almost completely rewritten based on mn10200
2031 * config/mn10300/tm-mn10300.h: Likewise.
2035 * config/pa/{hppabsd.mt hppahpux.mt hppaosf.mt}: Remove
2036 remote-pa.o from TDEPFILES. Nobody uses it, and besides, it's a
2037 lousy out-of-date clone of remote.c.
2041 * remote.c: Fix problems realized while showering.
2042 * (hexnumlen): Add prototype. Use max, not min.
2043 * (remote_write_bytes remote_read_bytes): Fix max packet size
2044 calculations to properly account for packet overhead. Also handle
2045 (probably rare) case where remote_register_buf_size isn't set.
2047 * remote.c: Fix doc for `C' and `S' commands to indicate full
2049 * (remote_ops extended_remote_ops remote_desc remote_write_size):
2051 * (remote_fetch_registers remote_write_bytes remote_read_bytes):
2052 Record size of response to fetch registers command, use this to
2053 limit size of memory read and write commands.
2054 * (push_remote_target): New function to make it possible to have
2055 another target switch to the remote target.
2056 * target.h: Add prototype for push_remote_target.
2057 * sh-tdep.c (sh_frame_find_saved_regs): Fix sign extension bugs
2058 for hosts which default to unsigned chars (such as SGI's).
2059 * (_initialize_sh_tdep): Don't set remote_write_size. It's now
2060 handled automatically in remote.c.
2064 * blockframe.c: blockvector_for_pc_sect(), block_for_pc_sect(),
2065 find_pc_sect_function(), find_pc_sect_partial_function(): new
2066 functions for debugging overlays; pc without section is ambiguous.
2067 * breakpoint.[ch]: add section pointer to breakpoint struct;
2068 add section argument to check_duplicates(); check section as well
2069 as pc in [breakpoint_here_p(), breakpoint_inserted_here_p(),
2070 breakpoint_thread_match(), bpstat_stop_status()];
2071 add section argument to describe_other_breakpoints();
2072 use INIT_SAL() macro to zero-out new sal structures;
2073 make resolve_sal_pc() fix up the sal's section as well as its pc;
2074 match on section + pc in clear_command() and delete_breakpoint();
2075 account for overlay sections in insert_breakpoints(),
2076 remove_breakpoint() and breakpoint_re_set_one();
2077 all this to support overlays where a PC is not unique.
2078 * exec.c: change xfer_memory() to handle overlay sections.
2079 * findvar.c: change read_var_value() to handle overlay sections.
2080 * frame.h: declaration for block_for_pc_sect() [blockframe.c].
2081 * infcmd.c: jump_command() warns against jumping into an overlay
2082 that's not in memory. Also use INIT_SAL() to initialize sals.
2083 * infrun.c: wait_for_inferior() sets a flag to invalidate cached
2084 overlay state information; Also use INIT_SAL() to init sals.
2085 * m32r-rom.c: modify load routines to use LMA instead of VMA.
2086 * m32r-stub.c: mask exit value down to 8 bits; screen out any
2087 memory read/writes in the range 600000 to a00000, and ff680000
2088 to ff800000 (hangs because nothing is mapped there); fix strcpy().
2089 * maint.c: maintenance command "translate-address" supports overlays.
2090 * minsyms.c: lookup_minimal_symbol_by_pc_sect() supports overlays.
2091 * objfiles.[ch]: add ovly_mapped field to the obj_section struct;
2092 this constitutes gdb's internal overlay mapping table. Add macro
2093 ALL_OBJSECTIONS() to loop thru the obj_structs and look at overlays.
2094 Add function find_pc_sect_section().
2095 * printcmd.c: modify print_address_symbolic() with overlay smarts;
2096 modify address_info() with overlay smarts; add function sym_info()
2097 to support the INFO SYMBOL command (translate address to symbol(s));
2098 modify disassemble_command() to work on unmapped overlays.
2099 * source.c: use INIT_SAL() to initialize sals.
2100 * symfile.[ch]: change generic_load() to use section's LMA address
2101 instead of VMA address, for overlay sections.
2102 Add numerous functions for finding a PC's section / overlay,
2103 translating between VMA and LMA address ranges, determining if an
2104 overlay section is mapped, etc. Add several user commands for
2105 overlay debugging. Add support for a "generic" form of automatically
2106 reading overlay mapping info from the inferior (based on the default
2107 (simple) overlay manager which Cygnus provides as an example).
2108 * symtab.[ch]: add functions find_pc_sect_symtab(),
2109 find_pc_sect_psymtab(), find_pc_sect_psymbol(), find_pc_sect_line()
2110 for lookup; modify lookup_symbol and decode_line_1() to use them;
2111 modify find_function_start_sal() to account for overlay sections;
2112 add macro INIT_SAL() for initializing struct symtab_and_line.
2113 * target.c: fix a comment in the declaration of target_ops.
2117 * mips-tdep.c (mips_in_call_stub, mips_in_return_stub,
2118 mips_skip_stub, mips_ignore_helper): New functions for dealing
2119 with MIPS16 call/return thunks.
2120 (mips_init_frame_pc_first): New function to implement
2121 INIT_FRAME_PC_FIRST macro; includes code from old macro plus
2122 new code to skip over MIPS16 thunks.
2123 (mips_frame_chain): Skip over MIPS16 thunks.
2124 * config/mips/tm-mips.h (mips_in_call_stub, mips_in_return_stub,
2125 mips_skip_stub, mips_ignore_helper): Declare.
2126 (IN_SOLIB_CALL_TRAMPOLINE, IN_SOLIB_RETURN_TRAMPOLINE,
2127 SKIP_TRAMPOLINE_CODE, IGNORE_HELPER_CALL): New macros that invoke
2128 the above functions.
2129 (INIT_FRAME_PC_FIRST): Change to invoke mips_init_frame_pc.
2130 (mips_init_frame_pc): Declare.
2131 * infrun.c (wait_for_inferior): Use new IGNORE_HELPER_CALL macro
2132 to decide if certain library function calls should be ignored.
2136 * remote-sim.c (gdbsim_open): Check return code from sim_open.
2137 Update call to sim_open (new arg SIM_OPEN_DEBUG).
2141 * gdbinit.in: New file.
2143 * configure.in: Generate .gdbinit from gdbinit.in.
2144 * configure: Rebuild.
2148 * config/tic80/tic80.mt: Disable using the simulator
2153 * COPYING: Install new version of file from FSF.
2154 * copying.c (show_copying_command): Update FSF address.
2158 * Makefile.in (distclean): Remove .gdbinit.
2162 * config/tic80/tm-tic80.h (NAMES_HAVE_UNDERSCORE): Define.
2166 * remote-sim.c (gdb_os_{,e}vprintf_filtered): Change stdarg type
2167 to va_list from void *, since va_list might not be a pointer
2172 * remote-mips.c: Clean up comment and extraneous semicolon
2173 for mips_monitor_prompt variable.
2177 * remote-mips.c: Add `set monitor-prompt' command.
2181 Fix from Peter Schauer:
2182 * mdebugread.c (parse_procedure): Set address of procedure to
2183 block start; this fixes problems with shared libraries introduced
2184 by change of Mar 21.
2188 * symtab.c (find_pc_symtab): change to support the case
2189 where the objfile is reordered and contains both coff and
2190 stabs debugging info (continue on if a psymtab isn't found).
2194 Fixes from Peter Schauer:
2195 * config/mips/tm-mips.h (REGISTER_CONVERT_TO_TYPE,
2196 REGISTER_CONVERT_FROM_TYPE): Swap words if target, not host,
2197 is big-endian and if registers are 32 bits.
2198 * mips-tdep.c (mips_print_register, mips_extract_return_value,
2199 mips_store_return_value): Fix floating-point word-order problems on
2200 little-endian targets introduced by changes of Mar 21.
2204 * remote.c (target_resume_hook, target_wait_loop_hook): New
2206 (remote_resume, remote_wait): Use them.
2207 * d10v-tdep.c: Set the above hooks.
2208 (tracesource): New GDB variable, controls source display in
2210 (display_trace): Find and display source line if requested.
2211 (trace_info): Mention empty trace buffer if appropriate.
2212 (tdisassemble_command): Robustify argument handling.
2214 * configure.host: Remove extra bogus Linux case.
2218 * remote-sim.c (simulator_command): Add comment about dealing with
2220 * Makefile.in (tic80-tdep.o): Add target.
2221 * configure.tgt: Add tic80 case.
2222 * tic80-tdep.c: New file.
2223 * config/tic80/{tic80.mt, tm-tic80.h}: New files.
2227 * c-exp.y (yylex): Handle nested template parameter lists.
2228 * symtab.c (decode_line_2): Fix test for valid choice number.
2232 * mips-tdep.c (mips_push_arguments): On non-EABI architectures,
2233 copy first two floating point arguments to general registers, so that
2234 MIPS16 functions will receive the arguments correctly.
2235 (mips_print_register): Print double registers correctly on
2236 little-endian hosts.
2237 (mips_extract_return_value): Return double values correctly
2238 on little-endian hosts.
2240 * mdebugread.c (parse_procedure): Adjust address of procedure relative
2241 to address in file descriptor record; this accounts for constant
2242 strings that may precede functions in the text section. Remove
2243 now-useless lowest_pdr_addr from argument list and all calls.
2247 * configure.tgt (powerpc*-{eabi,linux,sysv,elf}*): Determine
2248 whether the simulator will be built by whether the Makefile in the
2249 simulator directory was built.
2251 * configure.in (--enable-sim-powerpc): Delete switch.
2252 * configure: Regenerate.
2256 * mn10200-tdep.c (mn10200_analyze_prologue): Look for save of "a1"
2257 in the prologue too.
2259 * remote-sim.c (gdb_os_vprintf_filtered): Fix to work with non-ANSI
2261 (gdb_os_evprintf_filtered): Similarly.
2265 New UnixWare 2.1 configuration
2266 * config/i386/i386v42mp.mt: new
2267 * config/i386/i386v42mp.mh: new
2268 * config/i386/tm-i386v42mp.h: new
2269 * config/i386/nm-i386v42mp.h: new
2270 * configure.tgt: added new entries
2271 * configure.host: added new entries
2275 * dsrec.c (load_srec): Print leading zeroes when printing section
2280 * remote-sim.h: Delete - moved to ../include/remote-sim.h.
2282 * Makefile.in (remote_utils_h): Update path to remote-sim.h.
2286 * remote-sim.c (flush_stdout, write_stderr, flush_stderr,
2287 vprintf_filtered, evprintf_filtered): Callbacks that accept
2292 * breakpoint.c (insert_breakpoints, watchpoint_check,
2293 bpstat_stop_status): Do not disable watchpoints going out of scope.
2294 (insert_breakpoints): Make sure that the current frame is valid
2295 before calling find_frame_addr_in_frame_chain.
2297 * top.c (setup_user_args): Handle quotes and backslashes.
2298 (print_gdb_version): Update copyright year.
2302 * Makefile.in (elfread.o): Depend upon elf-bfd.h and elf/mips.h.
2306 * utils.c (pollquit, notice_quit): If _WIN32, limit test for
2308 (initialize_utils): If _WIN32, don't call ScreenRows and ScreenCols
2309 except under wingdb. (Contributed by Martin Hunt).
2313 * configure: Regenerated.
2314 * configure.in: Run AC_CONFIG_AUX_DIR before AC_CANONICAL_SYSTEM.
2318 * remote-sim.h (sim_state, SIM_DESC): New types.
2319 (sim_open): Return a `descriptor' as result.
2320 (*): New argument of descriptor result from sim_open.
2321 * remote-sim.c (gdbsim_desc): Renamed from gdbsim_open_p.
2322 (gdbsim_open): Record result of sim_open in gdbsim_desc.
2323 Pass argv list to sim_open, argv[0] = pseudo program name.
2324 (*): Pass gdbsim_desc to sim_foo fns.
2328 * config.in: Regenerated.
2330 * acconfig.h (START_INFERIOR_TRAPS_EXPECTED, sys_quotactl,
2331 HAVE_HPUX_THREAD_SUPPORT): Define.
2335 First cut at supporting simulators in gdbserver:
2337 * configure, configure.in: Allow gdbserver to be configured
2338 for cross-target environments.
2339 * gdbserver/Makefile.in: Add simulator support.
2340 * gdbserver/configure.in: Eliminate assumption that host == target.
2341 Simplify using gdb/configure.tgt and gdb/configure.host.
2342 Fix other minor configuration errors.
2343 * gdbserver/low-sparc.c: Fix compile error.
2344 * gdbserver/remote-utils.c: Eliminate assumption that registers
2345 and addresses are four bytes. Fix minor compile errors and warnings.
2346 * gdbserver/server.c: Rewrite numerous instances of identical code
2347 for starting inferior processes to call new function start_inferior.
2348 Eliminate assumption that registers and addresses are four bytes.
2349 * gdbserver/server.h: Add missing prototypes to eliminate compiler
2351 * gdbserver/low-sim.c: New file to mate gdbserver with simulators.
2352 * config/mips/vr5000.mt: Add Vr5000 simulator support to gdbserver.
2353 * config/i386/linux.mh: Eliminate gdbserver support as a first step
2354 in moving such support from host to target makefile fragments.
2355 * config/i386/linux.mt: Move gdbserver support here from linux.mh.
2359 * symtab.h (INIT_SAL): New macro to initialize symtab_and_line,
2360 to insure consistant initialization of unused fields to zero.
2361 * symtab.c: replace initializations of sals with new macro INIT_SAL.
2362 * breakpoint.c: ditto.
2365 * source.c: add call to INIT_SAL macro.
2369 * sparc-tdep.c (isbranch): Always handle v9 branch instructions,
2370 they might get used on 32 bit targets as well.
2374 * remote-mips.c (mips_exit_debug): Some IDT boards don't
2375 send the full exit string.
2379 * mn10200-tdep.c (mn10200_push_arguments): Handle new calling
2381 (mn10200_store_struct_return): Likewise.
2385 * mips-tdep.c (mips_fetch_instruction): New function; replace
2386 common code throughout with calls to it.
2387 (mips_find_saved_regs): Examine MIPS16 entry instruction to determine
2388 correct saved addresses of $s0 and $s1.
2389 (mips_find_saved_regs, mips16_heuristic_proc_desc): Use MIPS_REGSIZE
2390 instead of hardcoded 4.
2391 (mips16_skip_prologue): Handle extended instructions correctly.
2395 * defs.h (LONGEST): Move #ifndef LONGEST to outside.
2396 Try BFD_HOST_64_BIT if ! CC_HAS_LONG_LONG.
2400 * mips-tdep.c (IS_MIPS16_ADDR, MAKE_MIPS16_ADDR, UNMAKE_MIPS16_ADDR):
2401 New macros for testing, setting, and clearing bit 0 of addresses.
2402 Change numerous bits of code where bit 0 was being manipulated
2403 to use these macros.
2407 * remote-mips.c: Put back the form feeds.
2411 * remote-mips.c: Remove form feeds (^L) from source.
2412 (mips_initialize): LSI PMON doesn't support 'set regsize' command.
2413 (pmon_wait): Don't need to exit and re-enter debug mode on LSI
2414 PMON after a continue; it causes target program misbehavior.
2415 (mips_fetch_register): Don't fetch unsupported registers; this
2416 cuts down on wasted serial traffic.
2420 * configure.in configure (HPUX/OSF thread support): Enable this
2421 only when running GCC, since HP's thread header files use ANSI C
2422 which is not supported by their default compiler.
2424 * configure.host (i[3456]86-*-windows): Disable long long
2425 support for WinGDB. Add mswin to configdirs.
2426 * configure.in configure: Move calls to configure.host and
2427 configure.tgt to the top of configure.in to allow them to set
2428 config variables before they are referenced.
2432 * configure.tgt (mips*-*-lnews*): New target.
2436 * mn10200-tdep.c (mn10200_analyze_prologue): Don't fix fi->frame
2437 if we're not the innermost frame. Fix minor typos.
2441 * stabsread.c (read_type): Fix handling of template names
2442 with template parameters containing `::'.
2444 * valops.c (search_struct_field, search_struct_method):
2445 Pass correct valaddr parameter to baseclass_offset.
2446 Prevent gdb crashes by making sure that the virtual base pointer
2447 from an user object still points to accessible memory.
2451 * maint.c: Eliminate -Wall warnings by including some header files.
2455 * remote-sim.c (init_callbacks): Undo previous change.
2459 * maint.c: Fix dereference of pointer.
2460 * remote-sim.c: Fix reference of structure member "last_error".
2461 * debugify.c: Include config.h to get ANSI definitions.
2465 * remote-vx.c (vx_attach): Remove code added by kung. It made no
2470 * main.c (print_gdb_help): Make static to match declaration.
2474 * remote-e7000.c, ser-e7kpc.c, serial.c: Remove // comments.
2478 * debugify.c, debugify.h: Make safe for non-ansi compilers.
2482 * defs.h: Fix prototypes for new cleanup functions.
2486 * debugify.c, debugify.h: Fix for general gnu use. Remove C++
2487 comment, add PARAMS, add license info and fix indentation.
2491 * debugify.c, debugify.h: New files. Provide common macros
2492 for writing debug info to a log file or stdio.
2496 * c-valprint.c (c_val_print): Fix printing for arrays defined
2501 * defs.h: Fix cntl-C to read from the Windows message queue.
2502 Add prototypes for make_final_cleanup (and the other cleanup
2504 * remote-e7000.c: Fix sync code to timeout if unable to sync.
2505 Change sync code to report status while trying to sync-up
2506 with hardware. Add debugging output and document.
2507 * ser-e7kpc.c: Swap order of len & offset to match implementation.
2508 Add debugging output and document.
2509 * serial.c: Add debugging output.
2510 * top.c: Add call to do_final_cleanups.
2511 Remove conditionals preventing Win32 from getting SIGQUIT.
2512 * utils.c: (*_cleanup): Modify cleanup routines to accept a cleanup
2513 chain as a parameter. Extract this generic code from the cleanup
2514 routines into separate funtions (*_my_cleanup). Keep old
2515 functionality by passing "cleanup_chain" to the new funtions.
2516 Define the cleanup chain "final_cleanup_chain" to be a cleanup
2517 chain which will be executed only when gdb exits. Add functions
2518 (*_final_cleanup) to match the original (*_cleanup) functions.
2519 (pollquit, quit, notice_quit): Fix to read cntl-C from the
2520 Windows message queue.
2524 * m32r-rom.c: #include <sys/types.h>.
2525 #ifdef out new load support if wingdb.
2526 * m32r/tm-m32r.h (TARGET_M32R): Define, for wingdb.
2531 * config/mn10200/tm-mn10200.h (STORE_STRUCT_RETURN): Fix.
2532 * mn10200-tdep.c (mn10200_store_struct_return): New function.
2534 * config/mn10200/tm-mn10200.h (EXTRACT_RETURN_VALUE): Fix case when
2535 extracting a return value from a register pair.
2537 * mn10200-tdep.c (mn10200_push_arguments): Stack only needs to
2538 be two byte aligned. Round argument sizes up to two byte boundary.
2539 Write out args in two byte hunks.
2540 (mn10200_push_return_address): Implement.
2541 * config/mn10200/tm-mn10200.h (EXTRACT_RETURN_VALUE): Abort for
2542 structures > 8 bytes (temporary).
2543 (STORE_RETURN_VALUE): Likewise.
2544 (CALL_DUMMY): No longer undefine.
2545 (USE_STRUCT_CONVENTION): Use for args > 8 bytes.
2546 (REG_STRUCT_HAS_ADDR): Define.
2550 * mips-tdep.c (non_heuristic_proc_desc): New function.
2551 (find_proc_desc): Move non-heuristic proc search code into separate
2553 (gdb_print_insn_mips): Use non-heuristic method to find procedure
2554 descriptor, to avoid prologue examination when disassembling.
2555 * remote-mips.c: Add support for new "lsi" target (LSI MiniRISC
2556 aka MicroMeteor board).
2557 (mips_exit_debug): Prevent protocol reinitialization if an error
2558 occurs while exiting debug mode.
2562 * mn10200-tdep.c: Remove lots of debugging printfs, update/improve
2563 comments, formatting, etc. Plus other minor fixes for problems
2564 I found during my first pass over the mn10200 port.
2565 (mn10200_analyze_prologue): New function.
2566 (mn10200_frame_chain, mn10200_init_extra_frame_info): Use it.
2567 * config/mn10200/tm-mn10200.h: Lots of updates/improvements to
2568 comments, formatting, etc. Minor fixes for problems I found during
2569 my first pass over the mn10200 port.
2570 (TARGET_*_BIT): Define appropriately for ints, long longs, doubles and
2572 (REGISTER_VIRTUAL_TYPE): Define as a long.
2573 (EXTRACT_RETURN_VALUE): Rework to deal with long ints living
2575 (STORE_RETURN_VALUE): Similarly.
2577 * blockframe.c (generic_get_saved_regs): Remove unused variable
2579 * breakpoint.c (frame_in_dummy): Move struct breakpoint *b decl
2580 inside #ifdef CALL_DUMMY.
2581 (watch_command_1): Initialize target_resources_ok.
2582 * command.c (do_setshow_command): Provide dummy initialization
2584 * valops.c (find_function_addr): Move function & prototype inside
2586 (value_arg_coerce): Similarly.
2587 (value_of_variable): Provide dummy initialization of "frame".
2591 * xcoffread.c (RECORD_MINIMAL_SYMBOL): Add NULL asection* parameter
2592 to prim_record_minimal_symbol_and_info call that was missed in Jan 3
2594 (scan_xcoff_symtab): Ditto.
2598 * remote-mips.c (common_breakpoint): Prevent 64-bit addresses
2599 from being sent to 32-bit targets by masking off upper bits.
2600 * mips-tdep.c (heuristic_proc_start): Mask off upper 32 bits
2601 of PC on 32-bit targets.
2602 (mips16_heuristic_proc_desc): Recognize 'addiu s1,sp,n' as a
2603 frame setup instruction.
2604 (mips32_heuristic_proc_desc): Fix warning found by gcc -Wall.
2605 (mips16_skip_prologue): Recognize 'addiu s1,sp,n' as a valid
2606 prologue instruction. Fix warnings and bugs found by gcc -Wall.
2607 * buildsym.c (finish_block): Improve handling of overlapping blocks;
2608 fixes problem on MIPS16 printing function arguments.
2612 * dwarf2read.c (dwarf2_linkage_name): New function to get
2613 the linkage name of a die from DW_AT_MIPS_linkage_name or
2615 (read_func_scope, dwarf2_add_field, dwarf2_add_member_fn,
2616 new_symbol): Use it instead of accessing DW_AT_name.
2617 (read_partial_die): Use DW_AT_MIPS_linkage name as name of the
2618 partial die if present.
2619 (dwarf2_add_member_fn): Make a copy of physname on the type obstack.
2623 * blockframe.c (generic_frame_chain_valid): If the new frame
2624 is not INNER_THAN the old frame, then it's not valid.
2628 * mips-tdep.c (mips16_get_imm): Fix calculation of extended immediate.
2629 (mips16_heuristic_proc_desc): Recognize jal(x) instruction.
2633 * mips-tdep.c (mips16_decode_reg_save): Distinguish between
2634 sd and sw instructions correctly.
2635 (heuristic_proc_start): Add support for MIPS16.
2636 (mips16_get_imm, mips16_heuristic_proc_desc,
2637 mips32_heuristic_proc_desc): New helper functions for
2638 heuristic_proc_desc.
2639 (heuristic_proc_desc): Rewrite and reorganize to support MIPS16.
2640 (mips_push_arguments): Don't align small arguments in EABI.
2641 (mips32_skip_prologue): Attempt to shrink code size a little.
2645 * m32r-stub.c: New -- remote protocol support for M32R cpu.
2646 * m32r-rom.c: Several experiments with improved download time.
2650 * mips-tdep.c (MIPS16_INSTLEN): Define.
2651 (mips_find_saved_regs): Replace hardcoded 2's with MIPS16_INSTLEN.
2652 (heuristic_proc_start): Recognize 'entry' pseudo-op as a start
2653 of function on MIPS16.
2654 (mips32_skip_prologue, mips16_skip_prologue): New helper functions
2655 for mips_skip_prologue.
2656 (mips_skip_prologue): Recognize both 16- and 32-bit prologues.
2660 * config/powerpc/ppc{,le}-sim.mt (SIM): Remove the library
2661 ../sim/common/libcommon.a.
2665 * blockframe.c: fix a null pointer ref in generic_get_saved_register
2669 * mn10200-tdep.c (mn10200_frame_chain): Get basic backtracing
2674 First set of changes for mips16:
2675 * config/mips/tm-mips.h (MIPS16_BIG_BREAKPOINT,
2676 MIPS16_LITTLE_BREAKPOINT, BREAKPOINT_FROM_PC): Define.
2677 (ABOUT_TO_RETURN): Call new function mips_about_to_return.
2678 (mips_breakpoint_from_pc, mips_about_to_return): Declare.
2679 * mem-break.c (memory_breakpoint_from_pc): New function.
2680 (memory_insert_breakpoint, memory_remove_breakpoint): Use
2681 memory_breakpoint_from_pc to determine breakpoint contents and size.
2682 * target.h (memory_breakpoint_from_pc): Declare.
2683 * monitor.c (monitor_insert_breakpoint): Use memory_breakpoint_from_pc
2684 to determine size of breakpoint instruction.
2685 * mips-tdep.c (mips32_decode_reg_save, mips16_decode_reg_save):
2686 New helper functions for mips_find_saved_regs.
2687 (mips_find_saved_regs): Recognize mips16 prologues.
2688 (mips_addr_bits_remove): Strip off upper 32 bits of address
2689 when target CPU is 32 bits but CORE_ADDR is 64 bits.
2690 (mips_step_skips_delay): No branch delay slot on mips16.
2691 (gdb_print_insn_mips): Disassemble mips16 code.
2692 (mips_breakpoint_from_pc, mips_about_to_return): New functions.
2696 * tm-mn10200.h (NUM_REGS): Decrease to 12.
2697 (REGISTER_NAMES): Elimination registers not found on the mn10200.
2698 (PC_REGNUM, MDR_REGNUM, PSW_REGNUM): Corresponding changes.
2699 (LIR_REGNUM, LAR_REGNUM): Delete. They don't exist on the mn10200.
2703 * dwarf2read.c: Replace integral tag, name and form fields in
2704 internal structure definitions with the corresponding enumeration
2705 types from dwarf2.h. Add default cases to switches on enumerations
2707 Make quoting of string arguments in complaint messages consistent.
2708 Check for NULL returns from DW_STRING.
2709 (struct partial_die_info): Add sibling and has_type fields, remove
2711 (DW_*): Move access macro definitions near the definition of the
2712 attribute structure.
2713 (struct field_info): New structure to pass information about fields
2714 and member functions between die processing routines.
2715 (dwarf2_build_psymtabs_hard): Set cu_header_offset.
2716 (scan_partial_symbols): Do not enter DW_TAG_subprogram dies into
2717 the partial symbol table if the DW_AT_*_pc attributes are missing.
2718 Add file scope base type definitions to the partial symbol table.
2719 Skip over child dies if the die has a sibling attribute.
2720 (add_partial_symbol): Enter global variables with type attributes
2721 and without location descriptors into the partial symbol table.
2722 Store value of DW_TAG_variable dies in the partial symbol table.
2723 Do not enter global variables into the minimal symbol table.
2724 Add base type definitions to the partial symbol table.
2725 (psymtab_to_symtab_1): Use dwarf2_get_pc_bounds to determine highpc.
2726 (process_die): Move check for DW_AT_low_pc to read_func_scope.
2727 Add a typedef symbol for base type definitions to the symbol table.
2728 Ignore DW_TAG_inlined_subroutine tags for now.
2729 (read_file_scope): Use dwarf2_get_pc_bounds to determine pc bounds.
2730 (read_func_scope, read_lexical_block_scope): Use dwarf2_get_pc_bounds
2731 to determine pc bounds, ignore dies with invalid bounds.
2732 (dwarf2_get_pc_bounds): New routine to extract and validate the
2733 DW_AT_*_pc attributes of a die.
2734 (dwarf2_add_field, dwarf2_attach_fields_to_type, skip_member_fn_name,
2735 dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type):
2736 New functions to handle fields and member functions.
2737 (read_structure_scope): Rewritten to use them.
2738 (read_array_type): Renamed from dwarf_read_array_type.
2739 Default upper array bound to describe an array with unspecified
2741 Create array types in backwards order, as dwarf2 puts out the array
2742 dimensions from left to right.
2743 (read_subroutine_type): Handle DW_TAG_unspecified_parameters,
2744 DW_AT_artificial and DW_AT_prototyped.
2745 (read_base_type): Make an unsigned type for DW_ATE_boolean.
2746 Pass objfile to dwarf_base_type.
2747 (read_partial_die): Use read_attribute to read in the attributes.
2748 Handle DW_AT_sibling and DW_AT_type.
2749 Follow references when determining DW_AT_name and DW_AT_external
2750 attributes of the die.
2751 Validate DW_AT_*_pc attributes.
2752 (read_full_die): Use read_attribute to read in the attributes.
2753 (read_attribute): New function to read an attribute described
2754 by an abbreviated attribute.
2755 (new_symbol): Relocate symbol value for DW_TAG_label with baseaddr.
2756 Do not set SYMBOL_VALUE_ADDRESS for DW_TAG_subprogram,
2757 SYMBOL_BLOCK_VALUE for the symbol will be set later by finish_block.
2758 Change symbol class for global variables with a zero valued location
2759 descriptor to LOC_UNRESOLVED.
2760 Handle DW_AT_const_value attributes for DW_TAG_variable,
2761 DW_TAG_formal_parameter and DW_TAG_enumerator.
2762 Build a typedef symbol for DW_TAG_base_type.
2763 (dwarf2_const_value): New routine to copy a constant value from an
2764 attribute to a symbol.
2765 (dwarf_base_type): Use passed in objfile, not current_objfile
2766 when calling dwarf2_fundamental_type.
2767 (dump_die): Use DW_* accessor macros to access values of attributes.
2768 (decode_locdesc): Handle DW_OP_plus_uconst.
2772 * mn10200-tdep.c: New file.
2773 * config/mn10200/tm-mn10200.h: New, REGISTER_SIZE is 24 bits not 32,
2774 SP_REGNUM and FP_REGNUM are different, also no lar or lir.
2775 * config/mn10200/mn10200.mt: New file.
2776 * configure.tgt: add mn10200 entry.
2780 * configure.in configure: Check if host has libdl if doing
2785 * mn10300-tdep.c: Wrote/fixed implementations of
2786 mn10300_frame_chain, mn10300_init_extra_frame_info,
2787 mn10300_frame_saved_pc
2788 * config/mn10300/tm-mn10300.h: Redefine INIT_EXTRA_FRAME_INFO
2789 and INIT_FRAME_PC macros.
2793 * configure.in configure: Check if host has libm. Make sure we
2794 are using gcc when using the -export-dynamic option. Fixes a
2795 problem with building under Solaris/SunPro cc.
2799 * config/mips/{embed,embed64,embedl,embedl64}.mt:
2800 Link in simulator on MIPS embedded targets.
2804 * blockframe.c (frameless_look_for_prologue): Mark frames
2805 with a zero PC as frameless to improve backtraces from core dumps
2806 caused by dereferencing a NULL function pointer.
2810 * config/mn10300/tm-mn10300.h: fix BREAKPOINT definition.
2814 * mn10300-tdep.c: made a lot more generic, ripping out code
2815 from copied target (no more mn10300_scan_prologue,
2816 init_extra_frame_info, and mn10300_fix_call_dummy calls)
2817 * config/mn10300/tm-mn10300.h: undefine INIT_EXTRA_FRAME_INFO
2818 and INIT_FRAME_PC macros
2822 * sparc-tdep.c (sparc_frame_find_saved_regs): Don't use
2823 FP_REGISTER_BYTES to compute offsets into the saved frame,
2824 since it fails for SPARC targets configured without any
2825 FP regs. Instead, use DUMMY_STACK_REG_BUF_SIZE.
2829 * symtab.c (fixup_symbol_section): Handle NULL symbols without
2834 * Makefile.in configure configure.in: Remove ENABLE_CLIBS,
2835 ENABLE_OBS, and THREAD_DB_OBS. These are consolidated into LIBS
2837 * configure configure.in: Clean up test cases around thread support.
2838 * configure.tgt (v850-*-*): Include v850ice.o and v850.lib if
2840 * c-valprint.c ch-valprint.c cp-valprint.c eval.c expprint.c
2841 printcmd.c valops.c value.h values.c: Add bfd_section arg to
2842 value_at and value_at_lazy.
2843 * coffread.c dbxread.c elfread.c mdebugread.c minsyms.c symtab.h:
2844 Add bfd_section arg to prim_record_minimal_symbol_and_info.
2845 * corefile.c gdbcore.h printcmd.c valops.c: Use read_memory_section
2846 instead of read_memory. It takes a bfd_section arg.
2847 * coffread.c dbxread.c elfread.c gdb-stabs.h objfiles.h: Remove
2848 unnecessary cast for assignment of struct dbx_symfile_info.
2849 Struct objfile now uses a real pointer instead of PTR for this
2851 * dbxread.c (dbx_symfile_init): Stash bfd section pointers for
2852 text, data and bss into dbx_symfile_info.
2853 * exec.c (xfer_memory): Handle transfers for user-specified
2855 * findvar.c (read_var_value locate_var_value): Copy bfd section
2856 from the symbol to the value.
2857 * gdb-stabs.h: Add section pointers for text, data and bss
2859 * maint.c (translate address command): Add test code for overlay
2860 address translation.
2861 * printcmd.c (do_examine do_one_display): Now takes a bfd section
2863 * (print_formatted x_command): Record current section along with
2864 current address for repeated commands.
2865 * sparc-nat.c (fetch_inferior_registers): Change
2866 target_xfer_memory to target_{read write}_memory to allow changes
2867 to target_xfer_memory interface for section info.
2868 * symmisc.c (dump_msymbols print_symbol): Print section
2869 assocaited with symbol.
2870 * symtab.c (fixup_symbol_section): New routine to
2871 add section info to symbols returned by lookup_symbol.
2872 * symtab.h (struct general_symbol_info): Add bfd section to
2874 * target.c target.h (target_xfer_memory): Add bfd section to
2876 * (target_read_memory_section): New routine to read data from a
2878 * (target_memory_bfd_section): New global variable to pass bfd
2879 section in to targets.
2880 * valarith.c (value_add value_addr value_array): Preserve bfd
2881 section when computing new value.
2882 * value.h (struct value): Add bfd section to values.
2883 * values.c (allocate_value value_copy): Initialize/preserve bfd
2885 * (unpack_double): Clean up _MSC_VER conditionals to remove
2887 * v850ice.c: New module to support communication with NEC's
2889 * config/v850/tm-v850.h (REGISTER_NAMES): Replace sp, gp, fp, and
2890 ep names with rxx names. sp and fp are renamed via a different
2895 * mn10300-tdep.c (mn10300_push_arguments): rewrote,
2896 also removed code elsewhere that made use of RP_REGNUM.
2897 * config/mn10300/tm-mn10300.h: ripped out RP_REGNUM, V0_REGNUM,
2898 ARG0_REGNUM, ARGLAST_REGNUM (all not appropriate for mn10300
2899 arch.), redefined SAVED_PC_AFTER_CALL, EXTRACT_RETURN_VALUE,
2900 EXTRACT_STRUCT_VALUE_ADDRESS, STORE_RETURN_VALUE.
2902 For older changes see ChangeLog-1996
2908 version-control: never