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.
45 * d30v-tdep.c (d30v_frame_find_saved_regs): split most of
46 function off into d30v_frame_find_saved_regs_offsets;
47 (d30v_frame_find_saved_regs_offsets): new function. Got
48 backtrace working when calling from framefull (unoptimized)
49 routines (.e.g, main) into frameless (optimized) routines
54 * d30v-tdep.c (d30v_frame_chain): test end_of_stack
55 (d30v_frame_find_saved_regs): set it.
56 * config/d30v/tm-d30v.h: improved FRAME_CHAIN_VALID
62 * (mips_push_arguments): For big-endian shorts and char's store at
63 * the correct location.
67 * mdebugread.c (parse_partial_symbols): Delete check that symbols
68 for file not already loaded. Did not work when an include file
73 * elfread.c (elf_symfile_read): Since the partial symbol table is
74 searched last in first, insert mdebug or XCOFF info into the
75 partial symbol table before any DWARF2 info.
79 * symfile.c (init_psymbol_list): Handle init with zero elements.
81 * elfread.c (elf_symfile_read): If `mainline', clear psymbol table
82 using init_psymbol_list 0. For build_psymtabs functions, pass
83 mainline==0 so that psymbol_list isn't re-initialized.
85 * symfile.c (discard_psymtab): New function, correctly unlink an
86 empty psymtab from an object file.
87 * dbxread.c (end_psymtab): Call discard_psymtab.
88 * xcoffread.c (xcoff_end_psymtab): Ditto.
89 * hpread.c (hpread_end_psymtab): Ditto.
90 * os9kread.c (os9k_end_psymtab): Ditto.
94 * tracepoint.c (set_raw_tracepoint): initialize addr_string
95 to NULL; (trace_actions_command): call readline_begin_hook only
100 * configure.tgt: Change little-endian tx39 target name to tx39l.
102 * configure.tgt: Change little-endian tx19 target name to tx19l.
107 * remote-sim.c (gdbsim_open): Use "--architecture" instead of
108 ambigious short form.
113 * d30v-tdep.c (d30v_frame_chain): don't or in DMEM_START to
114 FP_REGNUM value before return; (prologue_find_regs): two sets
115 of offsets -- frame pointer and stack pointer, not just one that
116 tries to do double duty; (d30v_frame_find_saved_regs): stop once
117 we hit pc (in case we're stopped in the middle of the prologue)
118 and improve handling of frameless prologues; (d30v_push_arguments):
119 *ALL* arguments go on the stack until we run out of args registers,
120 force sp to be 8 byte aligned.
122 * config/tm-d30v.h (EXTRACT_STRUCT_VALUE_ADDRESS): fix, it's r2,
123 not r0; (FRAME_CHAIN_VALID): handle use of external memory;
124 (STACK_ALIGN): define.
129 * remote-sim.c (gdbsim_wait): When HAVE_SIGACTION and SA_RESTART
130 intall cntrl-c handler with SA_RESTART clear. On BSD systems this
131 stops read syscalls's being restarted.
133 * configure.in (configdirs): Check for sigaction.
134 * configure: Re-generate.
138 * config/mips/tx49el.mt : New file.
139 * config/mips/tm-tx49.h : New file.
140 * config/mips/tm-tx49el.h : New file.
141 * configure.tgt: Changed to use the new files for
142 mips64*tx49*-*-elf* and mips64*tx49*el-*-elf*
147 * dwarf2read.c: From change proposed by Gavin Koch.
148 (address_significant_size): New static variable.
149 (dwarf2_build_psymtabs_hard): Check consistency between
150 `address_size' and `address_significant_size'.
151 (read_address): MASK out all but the significant bits, as
152 determined by `address_significant_size', of any addresses.
153 (elf-bfd.h): Include.
154 (dwarf2_build_psymtabs_hard): Set `address_significant_size'
155 according to the arch_size of the elf object file.
159 * dwarf2read.c (dwarf_decode_lines): Change type of address to
166 * tic80-tdep.c (tic80_push_arguments): The compiler always
167 passes structs by reference.
172 * tracepoint.c (trace_find_command): don't error if going
173 backwards thru the trace buffer in a loop.
174 * (struct tracepoint): delete unused field.
179 * d30v-tdep.c : don't bury lots of magic numbers in the code
180 instead use defines for the opcodes and opcode masks; update
181 to use actual d30v patterns; fix register sizes to be 4 bytes
182 not 2 bytes; improve prologue testing now that we have a C
183 compiler; fix stack frame handling enough to get backtraces
184 working; initial changes to push and pop frames (so that gdb
185 can call functions in the inferior).
187 * config/d30v/tm-d30v.h: update DMEM_START, IMEM_START, and
188 STACK_START; change FR_REGNUM to 61 (was 11). Reformat comment
189 about DUMMY FRAMES so that it is readable. Fix SAVED_PC_AFTER_FRAME
195 * ch-valprint.c (chill_val_print): To avoid segfaults, don't print
196 a string whose dynamic length is longer than its static length.
200 * dwarf2read.c (dwarf2_build_psymtabs_hard): Check
201 cu_header.length is within dwarf_info_buffer not
206 * tracepoint.c (memrange_sortmerge): allow for memranges
207 that overlap. (collect_pseudocommand etc.) cleanup decls.
211 * config/v850/tm-v850.h (BREAKPOINT): Reverted back to old value...
215 * config/v850/tm-v850.h (BREAKPOINT): Changed to match new value.
219 * tracepoint.c: Add declaration for x_command.
221 * printcmd.c (x_command): Remove static declaration.
225 * tracepoint.c (finish_tfind_command): call do_display so that
226 auto-displays are updated by tfind. Also, keep track of frame
227 and current-function so that tfind behaves like stepping (only
228 show the stack frame if we step into a new function or return).
232 * sol-thread.c: additional support for debugging threaded core
233 files on solaris; previously only kernel threads were found --
234 user threads generated errors.
235 * corelow.c: don't register core_ops as a target if
236 coreops_suppress_target is true (set by sol-thread.c).
240 * tracepoint.c: make "tdump" command handle literal memranges.
244 * tracepoint.c: use "lookup_cmd" to parse actions commands
245 (thus allowing unambiguous prefixes and aliases).
249 * configure.tgt: Add support for Thumb target.
253 * tracepoint.c: move prototype of validate_actionline(), and
254 make it consistent with the function declaration.
258 * Makefile.in (tracepoint_h): New macro for tracepoint.h
260 (tracepoint.o): Add rule to build.
264 * remote-sim.c (gdbsim_cntrl_c): Lose ANSI prototype.
266 * tracepoint.c (set_raw_tracepoint): fix typo
270 * tracepoint.c (set_raw_tracepoint): Make sure there's a trailing
271 slash on the directory name.
273 * top.c (get_prompt): New function.
278 * dwarf2read.c (struct comp_unit_head): Change length and
279 abbrev_offset fields to unsigned int.
280 (dwarf2_build_psymtabs_hard): Verify length and offset read from
285 * tracepoint.c, tracepoint.h: new module, implements tracing,
286 which is a new functionality somewhat like breakpoints except
287 that a tracepoint stops the inferior only long enough to collect
288 and cache selected buffers and memory locations, then allows
289 the inferior to continue; the cached trace data can then be
294 * infcmd.c: export registers_info, for use by other modules.
295 * printcmd.c: export output_command, for use by other modules.
296 * stack.c: export locals_info and args_info, for use by other modules.
297 * remote.c: export getpkt, putpkt, and fromhex for external use.
298 Make fromhex case-insensative. New function "remote_console_output"
299 abstracts the acceptance of "O" packets from target.
300 Make all "remotedebug" output go to stdout, not stderr.
304 * valprint.c (print_longest): When CC has long long but printf
305 doesn't, print decimal value as three parts.
307 * config/i386/tm-fbsd.h: New file.
308 * config/i386/fbsd.mt (TM_FILE): Change to tm-fbsd.h.
310 * config/i386/nm-fbsd.h (FLOAT_INFO): Move definition from here.
311 * config/i386/tm-fbsd.h (FLOAT_INFO): To here.
313 * configure.in (PRINTF_HAS_LONG_LONG): Check full functionality of
314 %ll format specifier.
315 (SCANF_HAS_LONG_DOUBLE): Check the scanf family for support of
316 long double using %Lg.
317 * acconfig.h: Provide default undef for SCANF_HAS_LONG_DOUBLE.
318 * configure: Re-generate.
320 * c-exp.y (parse_number): Use sscanf %Lg when host has
321 SCANF_HAS_LONG_DOUBLE not PRINTF_HAS_LONG_DOUBLE
325 * printcmd.c (print_insn): Set the machine type if known.
327 * i386-tdep.c (_initialize_i386_tdep): Delete "set
328 assembly-language" command. Replaced by generic "set
329 architecture". Set initial machine using bfd_lookup_arch.
331 start-sanitize-vr5400
334 * configure.tgt (gdb_target): Treat vr5400 as a vr5000.
339 * valops.c (call_function_by_hand): If the function has a
340 prototype, convert its arguments as if by assignment. Otherwise,
341 do the usual promotions.
342 * stabsread.c (define_symbol): Set the TYPE_FLAG_PROTOTYPED flag
343 on functions' types when we can; all C++ functions should get it,
344 and if the Sun-style prototype notation is in the stabs, we can
349 * aclocal.m4 (AM_CYGWIN32, AM_EXEEXT): Remove. They are already
350 defined by the inclusion of ../bfd/aclocal.m4.
351 * configure: Rebuild.
355 * Makefile.in (SHELL): Really do the change.
359 * Makefile.in: also revert SHELL change until configury
364 * sparc-tdep.c (sparc_pc_adjust): Don't assume sizeof (long) == 4.
368 * aclocal.m4: add EXEEXT setting rule
369 * configure.in: call it
370 * configure: regenerate
371 * Makefile.in: pepper with EXEEXTs in appropriate places,
372 set SHELL = @SHELL@ for those lame hosts that don't have a /bin/sh
373 For some reason, EXEEXT isn't getting substututed in correctly
374 so for now, set EXEEXT to empty string
378 * Makefile.in (remote-sim.o): Depend on $(INCLUDE_DIR)/callback.h.
383 * jv-exp.y (copy_exp, insert_exp): Avoid ANSI prototypes.
389 * d30v-tdep.c (d30v_print_flags): Function to print the d30v flags
390 in a human readable format.
391 (print_flags_command): Command wrapper to call d30v_print_flags.
392 (d30v_do_registers_info): When printing out all of the registers,
393 print out the flag values in a human readable fashion.
394 (_initialize_d30v_tdep): Add info flags command to print the
397 * config/d30v/tm-d30v.h (PSW_*): Add macros for each of the PSW
398 bits that are defined.
403 * symfile.c (generic_load): Handle cancel from the
404 ui_load_progress_hook routine.
405 * dsrec.c (load_srec): Handle cancel from the
406 ui_load_progress_hook routine.
410 * valprint.c (print_longest): The b, h, w, and g format specifiers
411 print unsigned values.
415 * top.c (quit_confirm): Change exit message.
419 * config/i386/cygwin32.mh: because cygwin.dll calls malloc/realloc
420 to allocate memory for environ space, gdb cannot use memory
421 checks -- set -DNO_MMCHECK
426 * jv-exp.y (ArrayAccess): Implement Name [ Expression ]; check the
427 code to see why this is not trivial.
428 (copy_exp, insert_exp): New functions.
433 * dwarf2read.c (dwarf2_build_psymtabs_hard): Handle the case
434 where a compilation unit die has no children (DW_TAG_compile_unit
436 (scan_partial_symbols): Add comment for nesting_level.
441 * configure.tgt: Add tx49 configury based on 4300.
446 * solib.c (solib_break_names): add entry for Solaris 2.6 run
447 time linker. From Casper Dik via Peter Schauer.
451 * configure.in (configdir): Add -lcomdlg32 and -ladvapi32
458 * sol-thread.c (sol_find_new_threads_callback,
459 sol_find_new_threads): New functions.
460 * config/sparc/nm-sun4sol2.h (FIND_NEW_THREADS): New macro, invoke
461 sol_find_new_threads.
462 * thread.c (info_threads_command): invoke FIND_NEW_THREADS if it
467 * dbxread.c (process_one_symbol): Put back initialization
468 of a variable lost during last change. Don't perform
469 assignment inside conditionals.
470 * stabsread.c (symbol_reference_defined): Return -1 for error/not
471 found. All callers changed appropriately.
472 (define_symbol): Don't perform assignment inside conditionals.
476 * mdebugread.c (psymtab_to_symtab_1): Handle new live range stabs
479 * dbxread.c: More comment cleanups.
480 * stabsread.c: Fix various violations of the GNU coding and
481 formatting standards. Update/add comments to make code clearer.
482 (resolve_reference): Delete unused function.
483 (ref_search_val): Remove function. It didn't belong in stabsread.c
484 (resolve_live_range): No longer returns a value. Do not add it
485 to the live range list until the entire range stab has been parsed.
486 (get_substring): Remove duplicate declaration.
487 (resolve_symbol_reference): Now static. Remove unnecessary code
488 to deal with cleanups.
489 (ref_add): Use xrealloc instea of realloc.
490 (process_reference): Reorganize slightly to make clearer.
491 * stabsread.h (resolve_symbol_reference): Remove declaration.
492 (resolve_reference): Likewise.
493 * symtab.c (find_active_alias): New function.
494 (lookup_block_symbol): Use find_active_alias.
495 * symtab.h (struct range_list): Fix dangling struct live_range
497 (ref_search_val): Remove decl.
499 * symtab.h (struct range_list): Renamed from struct live_range.
500 (struct symbol): Remove struct live_range_info substruct.
501 Bring the alias list and range list fields up to the toplevel
502 as "aliases" and "ranges".
503 (SYMBOL_ALIASES, SYMBOL_RANGES): Corresponding changes.
504 (SYMBOL_RANGE_START, SYMBOL_RANGE_END, SYMBOL_RANGE_NEXT): Delete.
505 * stabsread.c: Corresponding changes.
507 * dbxread.c: Fix various violations of the GNU coding and
508 formatting standards. Update/add comments to make code
510 (process_later): Use xrealloc instead of realloc.
512 * symtab.c: Include inferior.h.
516 * ch-exp.c: Rename FIELD_NAME to DOT_FIELD_NAME (to avoid conflict).
520 * infcmd.c: Improve grammar of "set args" help.
524 * remote-sds.c (sds_load): Properly declare as static.
528 * config/sparc/tm-sparc.h (FIX_CALL_DUMMY): Mask off displacement
529 to 30 bits in call insn to handle --enable-64-bit-bfd.
530 (STORE_STRUCT_RETURN): Change to handle --enable-64-bit-bfd.
534 * stabsread.c: Make ref_map entries dynamically allocated.
538 * printcmd.c (print_address_symbolic, address_info): Mask
539 target-specific flag bits from PC, for more aesthetic disassembly.
540 * config/mips/tm-mips.h: Added PC masking for MIPS family
541 (especially the MIPS16).
545 * remote-mips.c (mips-initialize): Work around flakiness in
546 some versions of PMON after loading a program.
551 * c-lang.h, cp-valprint.c (static_field_print): Make non-static.
552 * parse.c, parser-defs.h (length_of_subexp): Make non-static.
553 * jv-exp.y (FieldAccess): Handle dollar-VARIABLE as primary.
554 (ArrayAccess): Likewise. Also remove warnings.
555 (CastExpression): Implement (typename) UnaryExpression.
556 (push_qualified_expression_name): Fix small bug.
557 * jv-lang.c: Use TYPE_TAG_NAME, not TYPE_NAME for class names.
558 (_initialize_jave_language): Fix typo (jave -> java).
559 (java_language): Java does *not* have C-style arrays.
560 (java_class_from_object): Make more general (and complicated).
561 (java_link_class_type): Fix typo "super" -> "class". Handle arrays.
562 (java_emit_char, java_printchar): New function.
563 (evaluate_subexp_java case BINOP_SUBSCRIPT): Handle Java arrays.
564 * jv-valprint.c (java_value_print): Implement printing of Java arrays.
565 (java_print_value_fields): New function.
566 (java_val_print): Better printing of TYPE_CODE_CHAR, TYPE_CODE_STRUCT.
571 * config/mips/tm-mips.h (MAKE_MSYMBOL_SPECIAL): Force MIPS16
573 (MIPS_FPU_SINGLE_REGSIZE, MIPS_FPU_DOUBLE_REGSIZE): Define.
574 * mips-tdep.c (mips_extract_return_value): Doubles aren't
575 returned in FP0 if FP registers are single-precision only.
577 * config/mips/tm-r5900.h (MIPS_LAST_FP_ARG_REGNUM): Redefine
578 to disable use of FP registers for function arguments.
583 * mips-tdep.c (set_reg_offset): New function.
584 (mips16_heuristic_proc_desc): Calculate offsets of registers
585 saved by entry pseudo-op after rest of prologue has been read.
586 Use set_reg_offset to ignore all but the first save of a given
588 (mips32_heuristic_proc_desc): Initialize frame adjustment value.
589 * remote-sim.c (gdbsim_store_register): Don't update registers
590 that have a null or empty name.
591 * findvar.c (read_register_bytes): Don't fetch registers
592 that have a null or empty name.
597 * config/mips/tm-r5900.h (REGISTER_NAMES, NUM_REGS): Overridei
600 * config/mips/tm-r5900.h (REGISTER_NAMES): Define.
604 * config/mips/tm-mips.h (NUM_REGS): Define conditionally.
605 (REGISTER_NAMES): Ditto.
609 * dsrec.c (load_srec): add ui_load_progress_hook to
610 display some feedback to user
612 * symfile.c (generic_load): add ui_load_progress_hook to
613 display some feedback to user
617 * command.c (add_cmd, add_show_from_set): Insert new commands in
622 * config/mips-tm-mips.h (mips_extra_func_info): New frame_adjust
623 member for storing offset of MIPS16 frame pointer from SP.
624 * mips-tdep.c: Use RA_REGNUM instead of hardcoded 31 throughout.
625 (PROC_FRAME_ADJUST): Define.
626 (mips16_heuristic_proc_desc): Store frame pointer adjustment value.
627 (get_frame_pointer): Use frame pointer adjustment value when
628 calculating frame address.
629 * remote-sim.c (gdbsim_fetch_register): Don't fetch registers
630 that have a null or empty name.
632 * config/mips/tm-tx19.h (MIPS_DEFAULT_FPU_TYPE): Define.
633 (REGISTER_NAMES): Redefine to eliminate FP registers.
634 * config/mips/tm-tx19l.h: Ditto.
640 * configure.tgt: Set gdb_target to r5900.
641 * config/mips/tm-r5900.h, config/mips/r5900.mt: New files
643 * mips-tdep.c (_initialize_mips_tdep): Allow target files to
644 override default FPU type.
648 * configure.tgt (v850-*-*): necmsg.lib instead of v850.lib.
652 * config/v850/tm-v850.h (BREAKPOINT): Use 1 word DIVH insn with
653 RRRRR=0 for simulator breakpoint. Previous breakpoint insn was two
658 * ser-e7kpc.c (get_ds_base): Only use under Windows.
659 (windows.h): Include when any _WIN32 host.
663 * The following block of changes add support for debugging assembly
665 * breakpoint.c (resolve_sal_pc): Prevent crash when pc isn't
666 associated with a function.
667 * buildsym.c (record_line start_symtab end_symtab): Don't delete
668 symtabs which only have line numbers (but no other debug symbols).
669 * dbxread.c (read_dbx_symtab end_psymtab): Ditto.
671 * remote-sim.c: New functions gdbsim_insert/remove_breakpoint. Use
672 intrinsic simulator breakpoints if available, otherwise do it the
675 * configure.tgt: Add d30v.
676 * d30v-tdep.c: New file.
677 * config/d30v/d30v.mt, config/d30v/tm-d30v.h: New files.
682 * Makefile.in (ALLCONFIG): Remove, inaccurate and never used.
686 * mips-tdep.c (mips_push_arguments): Tweak alignment of register
687 value if the remaining length of a non-integral argument is smaller
688 than the register size for big-endian non-EABI mode.
690 * rs6000-tdep.c (branch_dest): Handle return from signal
691 handler function via sigreturn kernel call.
695 * stabsread.h, symtab.h, dbxread.c, symtab.c, stabsread.c:
696 Fix prototypes. Remove function scoped function declarations.
700 * config/i386/windows.mh (XDEPFILES): need to list some files
701 explicitly, for odd reasons.
706 * jv-exp.y (push_fieldnames): New, to handle EXP.FIELD1....FIELDN.
707 (push_expression_name): New, to handle expression names.
708 (push_qualified_expression_name): New, for qualified expression names.
709 (parse_number): Fix bugs in parsing of non-decimal integers.
710 * jv-lang.h, jv-lang.c (java_demangle_type_signature): New.
711 * jv-lang.c (type_from_class): Just use name with java_lookup_class.
712 (java_link_class_type): Add dummy "class" field.
713 (java_lookup_type): New.
714 (evaluate_subexp_java case STRUCTOP_STRUCT): Force to address.
715 * jv-typeprint.c (java_type_print_base): Don't print "class" field.
716 Use java_demangle_type_signature to print array class types.
717 * jv-valprint.c (java_value_print): Preliminary array support.
718 Print pointer as TYPE@HEXADDR, instead of (TYPE)0xHEXADDR.
719 (java_val_print): Move check for object type to java_value_print.
720 Check for null. Print pointer as @HEXADDR, not 0xHEXADDR.
722 * valops.c (search_struct_field): Search basesclasses in
723 ascending, not descending order. Hack to avoid virtual baseclass
724 botch for Java interfaces.
729 * util.c (run_cleanup_chain, make_run_cleanup, do_run_cleanups):
730 New cleanup clean for cleanups to be run when at each 'run' command.
731 * infcmd.c (run_command): Call do_run_cleanups.
733 * solib.c (find_solib): Register cleanup to call clear_solib
734 on a new 'run' command.
735 (symbol_add_stub): First look for existing objfile with same name.
739 * remote-sds.c (sds_load): New function.
741 (sds_open): Don't set inferior_pid yet.
742 (sds_kill): Remove contents.
743 (sds_create_inferior): Rewrite to work more like monitor
745 (sds_restart): Remove, no longer used.
747 * monitor.h (MO_SREC_ACK_PLUS, MO_SREC_ACK_ROTATE): New flags.
748 * monitor.c (monitor_wait_srec_ack): Add DINK32-specific ack code.
749 * dsrec.c (load_srec): Always write a header S-record.
750 * dink32-rom.c (dink32_regnames): Fix the names of float registers.
751 (dink32_cmds): Set to use S-record downloading with acks.
752 * remote-est.c (est_cmds): Add MO_SREC_ACK_PLUS flag.
756 * config/v850/tm-v850.h (BREAKPOINT): Set to a truely illegal
759 * exec.c (exec_file_command): Call set_architecture_from_file.
763 * dbxread.c (MSYMBOL_SIZE): New macro.
764 (end_psymtab): Use MSYMBOL_SIZE to extract size from minimal symbol.
765 * elfread.c (elf_symtab_read): If ELF symbol is "special",
766 such as a MIPS16 function, mark minimal symbol as special too.
767 * mips-tdep.c (pc_is_mips16): New function to check whether
768 a function is MIPS16 by looking at the minimal symbol. Use
769 pc_is_mips16 throughout instead of IS_MIPS16_ADDR macro.
770 * config/mips/tm-mips.h (SYMBOL_IS_SPECIAL, MAKE_MSYMBOL_SPECIAL,
771 MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): New functions for setting/testing
772 "special" MIPS16 bit in ELF and minimal symbols.
773 * mdebugread.c (parse_partial_symbols): Don't construct a partial
774 symbol table for a file that already has one.
776 * configure.tgt: Support TX19.
777 * config/mips/tm-tx19.h, config/mips/tm-tx19l.h, config/mips/tx19.mt,
778 config/mips/tx19l.mt: New files for TX19.
783 * mdebugread.c (parse_symbol, handle_psymbol_enumerators): Handle
784 yet another variant of enumerator debugging info, used by DU 4.0
789 * config/i386/windows.mh (XDEPFILES): reduce to libwingdb.a.
790 otherwise link command line is too long.
794 * symtab.c, dbxread.c, stabsread.c: Fix up ANSI-C isms. Fix
795 some formatting problems.
799 * ser-e7kpc.c: Don't include w32sut.h. We no longer use the UT
800 mechanism. Remove prototypes for dos_async_* functions. They don't
805 * top.c (quit_confirm, quit_force): New functions, broken out of
807 (quit_command): Just call quit_confirm and quit_force.
808 * top.h (quit_confirm, quit_force): Declare.
812 * dbxread.c, buildsym.c, symtab.c, stabsread.c: Add support for
813 reading stabs extensions for live range information.
814 * stabsread.h, partial-stab.h: Add prototypes for new functions.
815 * symtab.h: Add structure for storing live range information.
819 * top.c (set_arch): New function, update target_architecture.
821 * defs.h, top.c (set_architecture_from_arch_mach): Replace
822 set_architecture, takes the arch and machine as arguments.
824 * sh3-rom.c (sh3e_open): Update.
829 * remote-e7000.c (e7000_fetch_registers): Fix typo, stray paren.
834 * top.c (init_main): Add ``set processor'' as an alias for ``set
839 * config/sparc/sparclite.mt: Removed simulator references (erc32
844 * remote-e7000.c (e7000_fetch_registers): Check
845 target_architecture instead of sh_processor_type.
848 * config/sh/tm-sh.h (sh_set_processor_type): Delete prototype.
850 * sh3-rom.c (sh3_open): Call set_architecture not
851 sh_set_processor_type.
854 * sh-tdep.c (sh_show_processor_type_command): Delete.
855 (sh_set_processor_type_command): Delete.
856 (sh_target_architecture_hook): Rename from sh_set_processor_type,
857 use AP to determine architecture.
858 (sh_show_regs): Use bfd_mach_sh* types.
860 * remote-sim.c (gdbsim_open): Pass --arch=XXX to simulator when
861 architecture was specified explicitly.
863 * defs.h (target_architecture, target_architecture_auto,
864 set_architecture, set_architecture_from_file): Declare.
865 (target_architecture_hook): Allow targets to be notified of set
868 * top.c (init_main): Add set/show/info architecture commands.
869 (set_architecture, show_architecture, info_architecture): New
870 functions, parse same.
871 (set_architecture_from_file): New function, determine arch from
876 * remote-sim.c (gdbsim_open): Only pass endianness to sim_open
877 when set explicitly. Prepend endianness arg so that it can be
880 * defs.h, top.c (target_byte_order_auto): Make global when
881 byteorder is selectable.
885 * remote-sim.c (gdbsim_create_inferior): Pass exec_bfd into
887 (gdbsim_create_inferior): Pass -1 to proceed, sim_create_inferior
888 has already set the PC.
889 (gdbsim_create_inferior): Allow exec_file to be NULL, make "No
890 exec file" a warning. Ditto for "No program loaded".
894 * ocd.c: revert Sun change -- enable log file handling
898 * remote-sim.c (gdbsim_open): Pass exec_bfd to sim_open call.
902 * ocd.c: comment out sections that create and flush wigglers.log
903 log file when using the wiggler.
907 * config/powerpc/ppc-eabi.mt:
908 * config/powerpc/ppc-sim.mt:
909 * config/powerpc/ppcle-eabi.mt:
910 * config/powerpc/ppcle-sim.mt: ser-ocd.c needs to be before
911 other ocd-related files in TDEPFILES
915 * ppc-bdm.c (bdm_ppc_wait): stop printfing ecr, der
916 * ocd.c: initialize remote_timeout
917 (ocd_wait): while looping, call ocd_do_command with OCD_AYT
918 (ocd_get_packet): remove find_packet goto. If there isn't
919 an 0x55 at the start, something is quite wrong so error out
920 instead of advancing in the packet and trying again. If checksum
921 is invalid, print error message instead of trying again.
922 * ser-ocd.c (ocd_readchar): error if we attempt to read past
923 the end of the from_wiggler_buffer.
928 * dink32-rom.c: Don't use "mf" command to fill, is too picky
934 * objfiles.c (objfile_relocate): Add call to breakpoint_re_set
935 after relocations are complete.
936 * remote-vx.c (vx_add_symbols): Remove call to breakpoint_re_set,
937 this is now done in objfile_relocate.
941 * win32-nat.c (handle_exception): Return a value indicating
942 whether the exception was handled. Don't handle random exceptions
943 the first time around, so that structured exception handling
945 (child_wait): Check the return value of handle_exception. Set the
946 continue_status argument to ContinueDebugEvent accordingly.
951 * configure.tgt: Add support for v850ea target.
956 * m32r-stub.c: fix typo
960 * remote-sds.c: Remove unused remnants of remote.c.
961 (tob64): Return the result length.
962 (sds_interrupt): Send a stop message.
963 (sds_wait): Add debug output for signal interpretation, flag
964 that signal was due to a trap.
965 (sds_fetch_registers): Fill the registers array correctly for
967 (sds_store_registers): Get the right values from registers array.
968 (putmessage): Tweak length handling so checksum comes out right.
969 (sds_insert_breakpoint, sds_remove_breakpoint): Do correctly.
973 * Makefile.in (init.c): Don't use xargs.
977 * infrun.c (wait_for_inferior): Add the symbols for any
978 newly loaded objects upon a TARGET_WAITKIND_LOADED event.
980 Rewrite code which determines the TOC address for calling functions
981 in the inferior under AIX.
982 * rs6000-nat.c (find_toc_address): New function to determine
983 the required TOC address from a function address.
984 (_initialize_core_rs6000): Set up find_toc_address_hook to point
986 (xcoff_relocate_symtab, xcoff_relocate_core): Remove
987 add_text_to_loadinfo calls.
988 (exec_one_dummy_insn): Change pid and status to int to get rid of
990 (xcoff_relocate_symtab): Cast ldi to `int *' when passing it to
991 ptrace to get rid of compiler warnings.
992 * rs6000-tdep.c: Add definition for find_toc_address_hook.
993 (rs6000_fix_call_dummy): If find_toc_address_hook is non zero,
994 patch TOC address load code in the call dummy with the value
995 returned from find_toc_address_hook.
996 (struct loadinfo, loadinfo, loadinfolen,
997 loadinfotextindex, xcoff_init_loadinfo, free_loadinfo,
998 xcoff_add_toc_to_loadinfo, add_text_to_loadinfo, find_toc_address):
1000 (_initialize_rs6000_tdep): Remove initialization of
1001 coff_add_toc_to_loadinfo_hook and xcoff_init_loadinfo_hook.
1002 * xcoffread.c (coff_add_toc_to_loadinfo_hook,
1003 xcoff_init_loadinfo_hook): Remove.
1004 (struct coff_symfile_info): Add toc_offset field.
1005 (scan_xcoff_symtab): Record toc_offset value in toc_offset field
1006 instead of calling xcoff_add_toc_to_loadinfo_hook.
1007 (get_toc_offset): New function to return the value of the
1008 toc_offset field for an object file.
1009 (xcoff_initial_scan): Remove call of xcoff_init_loadinfo_hook.
1010 * xcoffsolib.h (add_text_to_loadinfo): Remove declaration.
1011 * config/rs6000/tm-rs6000.h: Add declarations for
1012 find_toc_address_hook and get_toc_offset.
1016 * remote-sds.c: New file, interface to SDS-compatible monitors.
1017 * Makefile.in (remote-sds.o): Add build rule.
1018 * config/powerpc/ppc-eabi.mt, config/powerpc/ppc-sim.mt
1019 (TDEPFILES): Add remote-sds.o.
1023 * ocd.c (ocd_wait): loop until we're in BDM mode instead of
1024 assuming control has returned to GDB.
1028 * dink32-rom.c: New file, support for DINK32 monitor.
1029 * Makefile.in (dink32-rom.o): Add build rule.
1030 * config/powerpc/ppc-eabi.mt, config/powerpc/ppc-sim.mt
1031 (TDEPFILES): Add dink32-rom.o.
1032 * monitor.h (MO_32_REGS_PAIRED, MO_SETREG_INTERACTIVE,
1033 MO_SETMEM_INTERACTIVE, MO_GETMEM_16_BOUNDARY,
1034 MO_CLR_BREAK_1_BASED): New monitor interface flags.
1035 * monitor.c: Use them.
1036 (monitor_store_register): Use setreg.term if defined.
1037 (monitor_insert_breakpoint, monitor_remove_breakpoint): Notice
1038 if set_break and clr_break fields are empty.
1042 * ocd.c (ocd_insert_breakpoint, ocd_remove_breakpoint): Macro
1043 BDM_BREAKPOINT already has braces around it, remove erroneous ones.
1044 * ser-ocd.c (ocd_write): Conditionalize on _WIN32 instead of
1046 * config/powerpc/tm-ppc-eabi.h: Remove BDM_NUM_REGS, BDM_REGMAP
1047 * ppc-bdm.c: move BDM_NUM_REGS, BDM_REGMAP here from tm.h file,
1048 fill in doc fields of bdm_ppc_ops.
1049 (bdm_ppc_fetch_registers): Don't ask for invalid registers such
1050 as the MQ or floating point regs not present on ppc 8xx boards.
1051 (bdm_ppc_store_registers): Don't write those same invalid registers.
1052 * config/i386/cygwin32.mh: Stop including ocd.o ser-ocd.o.
1053 * config/powerpc/ppc-eabi.mt:
1054 * config/powerpc/ppcle-eabi.mt:
1055 * config/powerpc/ppc-sim.mt:
1056 * config/powerpc/ppcle-sim.mt: Include ser-ocd.o.
1060 * frame.h (enum lval_type): Conditionalize on __GNUC__
1061 instead of __STDC__.
1065 * utils.c (error): Fix return type for !ANSI_PROTOTYPES.
1069 * ocd.c: move ocd_write_bytes proto to ocd.h since it is used
1070 by ppc-bdm.c, use OCD_LOG_FILE to help debugging, define
1071 BDM_BREAKPOINT if not defined in tm.h
1072 (ocd_error): add new error cases
1073 (ocd_start_remote): send the OCD_INIT command before
1074 OCD_AYT and OCD_GET_VERSION calls, 80 was correct speed after all
1075 (ocd_write_bytes): no longer static
1076 (ocd_insert_breakpoint): no longer static
1077 (ocd_remove_breakpoint): new
1078 * ocd.h: add protos for ocd_write_bytes, ocd_insert_breakpoint,
1079 and ocd_remove_breakpoint
1080 * ppc-bdm.c: change bdm_ppc_ops so we call ocd_insert_breakpoint
1081 and ocd_remove_breakpoint instead of memory_insert_breakpoint
1082 and memory_remove_breakpoint.
1083 (bdm_ppc_open): after calling ocd_open, modify DER
1084 register so interrupts will drop us into debugging mode, finally
1085 disable the watchdog timer on the board so we don't leave BDM
1090 * values.c (value_primitive_field): Account for offset when
1091 extracting the value of a bitfield.
1096 start-sanitize-tic80
1097 * config/tic80/tic80.mt:
1098 (GDBSERVER-DEPFILES, GDBSERVER_LIBS): Define for gdbserver.
1099 (SIM): Remove -lm to prevent make errors.
1100 * configure.tgt: add gdbserver to configdirs for tic80.
1102 * gdbserver/utils.c (error): Change prototype to match defs.h.
1103 * gdbserver/low-sim.c: Change simulator calls to use new interface.
1104 * remote.c (remote_write_bytes): Include '$' at start of packet
1105 and checksum at end of packet in overhead calculation.
1109 * ser-ocd.c: If _WIN32, include <windows.h>.
1110 (dll_do_command): New static variable if _WIN32.
1111 (ocd_open): Set dll_do_command if _WIN32.
1112 (ocd_write): Use dll_do_command rather than do_command.
1113 * config/i386/cygwin32.mh (XDEPFILES): Remove libwigglers.a.
1114 (BDM_DLLNAME, BDM_LIBNAME, BDM_DEFFILE): Don't define.
1115 ($(BDM_LIBNAME)): Remove target.
1116 * wigglers.def: Remove.
1118 * config/i386/cygwin32.mh ($(BDM_LIBNAME)): Rename target from
1120 (libwigglers.a): Remove target.
1124 * config/powerpc/ppc{,le}-{eabi,sim}.mt (TDEPFILES): Make sure
1125 ppc-bdm.o and ocd.o are used for all powerpc-eabi targets.
1129 Changes to OCD support to support wiggler box as well as
1131 * ocd.c: change speed in init command to 0 from 80,
1132 add (temporary) logging commands to help debugging,
1133 (ocd_open): if "target ocd wiggler lpt" then use special
1134 ser-ocd.c serial interface which communicates with Wigglers.dll,
1135 otherwise ("target ocd <foo>") do as we did before
1136 (ocd_get_packet): add OCD_LOG_FILE and OCD_SET_CONNECTION to
1137 switch of known commands of len 0
1138 * ocd.h: add OCD_LOG_FILE
1139 * serial.c (serial_open): do serial_interface_lookup on ocd
1141 * ser-ocd.c: add buffer to contain responses from sending a
1142 command to the Wigglers.dll.
1143 (ocd_readchar): return curr char from buffer and increment ptr
1144 (ocd_write): send buffer to Wigglers.dll, storing response in
1145 return buffer and initializing curr location ptr to start of
1150 * ocd.h: add OCD_SET_CONNECTION
1151 * ocd.c: rename "do_command" to "ocd_do_command"
1155 Nomenclature change. BDM is a specific type of OCD
1156 (On Chip Debugging). Wiggler is the parallel port box controlled
1157 by Wigglers.dll. The faster target box from Macraigor Systems
1163 Replace all instances of "wiggler_" with "ocd_" and change most other
1164 instances of "wiggler" to "ocd" or "ocd device" depending on context.
1165 * config/m68k/monitor.mt: remove remote-wiggler.o from TDEPFILES
1166 until OCD with that target is supported again.
1170 * Makefile.in: add DLLTOOL = @DLLTOOL@, pass on DLLTOOL to
1171 sub makes, change clean rule to also remove *.a to remove
1172 libwigglers.a, in dependencies: add ppc-bdm.o ocd.o ser-ocd.o and
1173 remove remote-wiggler.o
1174 * configure.in: add DLLTOOL support
1175 * configure: regenerate
1176 * wigglers.def: new file for imports for wigglers.dll
1177 * ser-ocd.c: new file which is layer between ocd.c and either the
1178 wigglers.dll or the target box, only stub so far
1179 * config/powerpc/ppc-eabi.mt: add ppc-bdm.o to TDEPFILES
1180 * config/powerpc/ppc-sim.mt: add ppc-bdm.o to TDEPFILES
1181 * config/i386/cygwin32.mh: add ocd.o ser-ocd.o libwigglers.a
1182 to XDEPFILES, add rules to build libwigglers.a
1185 * remote-wiggler.c: delete
1186 * ocd.c: new, was remote-wiggler.c
1187 always include sys/types.h, include ocd.h, move WIGGLER
1188 commands and many wiggler prototypes to ocd.h, make wiggler_desc
1189 static, stop making local wiggler functions static,
1190 define write_mem_command for wiggler_write_bytes
1191 (wiggler_start_remote): stop hardcoding the target type,
1192 instead set and use a target_type variable.
1193 (wiggler_open): add new target_type and ops args
1194 (wiggler_wait): now no longer takes pid and target_status as args,
1195 stop trying to set target_status struct, remove BGND insn
1197 (read_bdm_registers): renamed to wiggler_read_bdm_registers
1198 (wiggler_read_bdm_registers): numregs arg changed to reglen arg,
1199 remove pktlen check, set reglen instead of numregs
1200 (dump_all_bdm_regs): delete
1201 (wiggler_fetch_registers): delete
1202 (wiggler_prepare_to_store): now just an empty function
1203 (wiggler_store_registers): delete
1204 (wiggler_read_bdm_register): new
1205 (wiggler_write_bdm_registers): new
1206 (wiggler_write_bdm_register): new
1207 (wiggler_write_bytes): use write_mem_command variable instead of
1209 (get_packet): renamed to wiggler_get_packet, change refs throughout
1210 (put_packet): renamed to wiggler_put_packet, change refs throughout
1211 (wiggler_get_packet): add break to default case of switch,
1212 change length of WIGGLER_GET_VERSION len to 10 from 4 to match
1214 (wiggler_mourn): unpush_target with current_ops, not &wiggler_ops
1215 (flash_xfer_memory): delete
1216 (noop_store_registers): new placeholder replacement for
1217 target_store_registers() which prevents generic_load from trying to
1219 (bdm_update_flash_command): add store_registers_tmp variable,
1220 make handling of wiggler_ops more generic -- define wiggler_ops
1221 in a target-specific file instead (such as ppc-bdm.c in the case
1222 of the ppc), use current_target to deal with registers again
1223 making this file less target-specific.
1224 (bdm_read_register_command): new
1225 (_initialize_remote_wiggler): stop doing add_target (&wiggler_ops),
1226 comment out add_cmd ("read-register", ...)
1227 * ocd.h: new, contains common wiggler prototypes, command definitions
1228 * ppc-bdm.c: file for ppc-specific OCD code, including target_ops
1229 structure for ppc bdm
1232 (bdm_ppc_fetch_registers): new
1233 (bdm_ppc_store_registers_: new
1234 (_initialize_bdm_ppc): new
1235 * config/powerpc/tm-ppc-eabi.h: add necessary CPU32 BDM defines
1237 start-sanitize-tic80
1240 * tic80-tdep.c (tic80_init_extra_frame_info): Allow zero
1241 as a valid SP-relative offset of a saved register.
1246 * hpread.c (hpread_read_struct_type): Use accessor macros rather
1247 than directly mucking around with data structures.
1251 * gdbtypes.h: Re-interpret struct field. Suppport address of static.
1252 Add a bunch of macros.
1253 * coffread.c, dwarf2read.c, dwarfread.c, mdebugread.c, stabsread.c:
1254 Update to use new macros.
1255 * coffread.c, hpread.c, stabsread.c: Remove bugus TYPE_FIELD_VALUE.
1256 * value.h, values.c (value_static_field): New function.
1257 * cp-valprint.c, valops.c: Modify to use value_static_field.
1260 * jv-lang.c (get_java_utf8_name): Re-write so it works with
1261 implied (missing) data field, as defined by cc1java.
1262 (java_link_class_type): Type length and field offset (in interior)
1263 now includes object header. Get static fields working.
1264 * jv-lang.h (JAVA_OBJECT_SIZE): Update for change in Kaffe.
1265 * jv-typeprint.c (java_type_print_derivation_info,
1266 java_type_print_base): New functions, for better Java output.
1267 * jv-valprint.c: Start to support Java-specific output.
1272 * c-valprint.c (c_val_print): Use extract_address to retrieve
1273 the address of the virtual function.
1276 * eval.c (evaluate_subexp_standard), valarith.c (value_x_unop):
1277 Handle C++ operator *.
1281 * configure.in: Check for cygwin32 environment. Define and
1282 substitute WIN32LIBS and WIN32LDAPP. Always set configdir to
1283 unix; setting it to win was for an old Tcl/Tk configuration
1285 * Makefile.in (TK_CFLAGS): Add @TK_BUILD_INCLUDES@.
1286 (WIN32LDAPP, WIN32LIBS): Define.
1287 (CLIBS): Add $(WIN32LIBS).
1288 (gdb): Use $(WIN32LDAPP).
1289 * configure: Rebuild.
1294 * symtab.h (SYMBOL_INIT_LANGUAGE_SPECIFIC, SYMBOL_INIT_DEMANGLED_NAME,
1295 SYMBOL_DEMANGLED_NAME): Add demangling support for Java.
1296 * utils.c (fprintf_symbol_filtered): Handle language_java.
1298 * symtab.c (decode_line_1): Handle Java-style package.class.method.
1302 * java-*: Renamed to jv-*, to make fit within 14 characters.
1303 * jv-lang.h (java_type_print): Added declaration.
1304 * jv-typeprint.c: New file. Provides java_print_type.
1305 * jv-lang.c (java_link_class_type): New function.
1306 (java_language_defn): Replace c_print_type by java_print_type.
1307 * Makefile.in: Update accordingly.
1312 * Makefile.in (init.c): except some mswin files do need to be
1317 * Makefile.in (init.c): don't try to scan mswin for _initialize
1318 funcs. (generates misleading error message because files have
1319 .cpp suffix, not .c suffix)
1323 * ser-e7kpc.c: <w32sut.h> -> "mswin/w32sut.h"
1327 * xcoffread.c (coff_getfilename): Do not strip directory component
1332 * mon960-rom.c: removed unused #includes; no ioctl.h in Windows.
1333 * nindy-share/ttyflush.c: find sleep() for _MSC_VER.
1334 * remote-array.c: #include <ctype.h> for isascii().
1335 * utils.c (notice_quit,pollquit): cleanup. _WIN32 -> _MSC_VER.
1339 * top.c (execute_command): Force cleanup of alloca areas.
1340 * findvar.c (registers_changed): Likewise.
1344 * v850ice.c: Include <windows.h>. Support new v850 DLL interface.
1345 * Add defs for target status.
1349 * config/mips/tm-mips64.h: longs, long longs, and pointers
1350 are all 64 bits on EABI mips targets.
1354 * partial-stab.h (case N_BINCL): detect missing partial symtab.
1355 * dbxread.c: Add a complaint for N_BINCL without a corresponding
1356 partial symtab. Remove earlier change of 5/27/97.
1360 * sol-thread.c (sol_thread_[store, fetch]_registers): if
1361 inferior_pid is an LWP rather than a Solaris thread, let
1362 procfs handle the request.
1363 (rw_common, sol_thread_xfer_memory): procfs_xfer_memory will
1364 only work if inferior_pid points to an LWP (rather than a
1365 Solaris thread). Use procfs_first_available to find a good LWP.
1366 (info_solthreads): added a maintenance command to list all
1367 known Solaris threads and their attributes.
1368 * mips-tdep.c (mips_do_registers_info): Completely changed the
1369 output format to be neat and columnar. Added the helper funcs
1370 do_fp_register_row and do_gp_register_row. Also small mods to
1371 mips_print_register, which is still used to print a single reg.
1375 * procfs.c (wait_fd): Handle an fd that has "hung up" or
1376 otherwise terminated (Solaris threads).
1380 * defs.h (init_ui_hook): Change prototype to accept one arg.
1381 * main.c (gdb_init): Change prototype to accept one arg.
1382 * top.c (gdb_init): Accepts one argument which it uses to
1383 call (*init_ui_hook).
1387 * source.c (OPEN_MODE, FDOPEN_MODE): Define; value depends upon
1388 whether CRLF_SOURCE_FILES is defined.
1389 (open_source_file): Use OPEN_MODE with open and openp.
1390 (print_source_lines): Use FDOPEN_MODE with fdopen. If
1391 CRLF_SOURCE_FILES is defined, ignore \r characters.
1392 (forward_search_command): Use FDOPEN_MODE with fdopen.
1393 (reverse_search_command): Likewise.
1394 * config/i386/xm-cygwin32.h (CRLF_SOURCE_FILES): Define.
1395 (LSEEK_NOT_LINEAR): Don't define.
1399 * mips-tdep.c (mips_extract_return_value): align 4-byte float
1400 return values within the 8-byte FP register.
1404 * mips-tdep.c (mips_push_arguments): don't left-adjust 32-bit
1405 integers in 64-bit register parameters before function calls.
1409 * mips-tdep.c (mips_push_arguments): special-case handling for
1410 odd-sized struct parameters passed in registers / on stack.
1414 * mips-tdep.c (mips_push_arguments): tweak alignment of small
1415 structs passed in registers for little-endian non-EABI mode.
1419 * breakpoint.c (frame_in_dummy): use generic dummy if available.
1420 (check_duplicates, clear_command): compare sections only if
1421 doing overlay debugging.
1425 * buildsym.h (struct subfile): Add debugformat member.
1426 (record_debugformat): Declare global function.
1427 * buildsym.c (start_subfile): Initialize debugformat member
1429 (record_debugformat): New function to record the format.
1430 (end_symtab): Copy format into symtab debugformat member.
1431 (end_symtab): Free subfile debugformat member.
1432 * symmisc.c (free_symtab): Free debugformat when freeing
1434 * symfile.c (allocate_symtab): Initialize the new debugformat
1435 member for new symtabs.
1436 * symtab.h (struct symtab): Add debugformat member.
1437 * source.c (source_info): Print the debug format.
1439 * os9kread.c (os9k_process_one_symbol): Call record_debugformat
1441 * hpread.c (hpread_expand_symtab): Call record_debugformat
1443 (hpread_process_one_debug_symbol): Ditto.
1444 * dbxread.c (process_one_symbol): Call record_debugformat
1446 * coffread.c (coff_start_symtab): Call record_debugformat
1448 * xcoffread.c (read_xcoff_symtab): Call record_debugformat
1450 * dwarfread.c (read_file_scope): Call record_debugformat
1452 * dwarf2read.c (read_file_scope): Call record_debugformat
1454 * dstread.c (dst_end_symtab): Set debugformat to be
1456 * mdebugread.c (new_symtab): Set debugformat to be "ECOFF".
1460 * mips-tdep.c (mips_push_arguments): handle alignment of
1461 integer and struct args on stack for mips64 big-endian.
1465 * config/mips/tm-mips.h (USE_STRUCT_CONVENTION): MIPS_EABI returns
1466 structs in a register wherever possible.
1467 * mips-tdep.c (mips_extract_return_value): handle structs.
1468 (mips_store_return_value): handle values smaller than MIPS_REGSIZE
1469 (including structs, if gdb ever allows it).
1473 * sh-tdep.c (sh_skip_prologue): Also recognize fmov insns.
1474 (sh_frame_find_saved_regs): Recognize fmov insns and adjust
1475 stack push count accordingly.
1476 * sh-tdep.c (IS_FMOV, FPSCR_SZ): New defines
1480 * utils.c (floatformat_from_doublest): Improve test for infinity.
1484 * dwarfread.c (isreg, optimized_out, offreg, basereg): Move
1485 global variables into the struct dieinfo structure.
1486 (locval): Pass pointer to a dieinfo struct rather than a
1487 pointer to the raw location information. Change prototype.
1488 Set isreg, optimized_out, offreg and basereg as appropriate.
1489 (struct_type): Call locval with dieinfo struct pointer.
1490 (new_symbol): Ditto.
1491 (new_symbol): Call locval and save location before testing
1492 the values of the new dieinfo struct flags, set by locval.
1496 * procfs.c (proc_set_exec_trap, procfs_init_inferior, procfs_wait,
1497 unconditionally_kill_inferior): Undo Oct 26 1996 and Apr 26 1997
1498 changes to trace PRFS_STOPTERM and handle PR_DEAD.
1499 These changes tried to work around a problem with an early DU 4.0
1500 release, but they trigger subtle timing dependent kernel bugs
1501 in older OSF/1 releases.
1505 * dwarfread.c (new_symbol): Use SYMBOL_VALUE_ADDRESS, instead of
1506 SYMBOL_VALUE, to set the value of LOC_STATIC symbols.
1510 * infrun.c (wait_for_inferior): Mark registers as invalid when
1511 stepping over an instruction that triggered a watchpoint.
1512 * remote-mips.c: Numerous changes to support hardware breakpoints
1513 and watchpoints on LSI MiniRISC and TinyRISC boards.
1514 * mips-tdep.c: Move MIPS16-related macros to config/mips/tm-mips.h.
1515 (mips_breakpoint_from_pc): Account for different breakpoint
1516 instructions used by PMON and IDT monitor.
1517 * config/mips/tm-embed.h: Enable hardware breakpoints on embedded
1519 * config/mips/tm-mips.h: Define breakpoint instructions for
1520 PMON and IDT monitor. Move MIPS16-related macros here from
1525 * config/mips/tm-tx39[l].h, tx39[l].mt: change r3900 target to tx39.
1529 * mn10300-tdep.c (mn10300_analyze_prologue): Fix some comments.
1530 Add missing return statements after finding an "add imm{16,32},sp"
1532 (mn10300_frame_chain): Add in size of our register save area to find
1533 our caller's frame if our caller does not have a frame pointer.
1537 * symfile.c (generic_load): Check return code of target_write_memory.
1541 * config/i386/nm-linux.h: Enable prototypes that were #ifdef out.
1542 * config/tm-sysv4.h (in_plt_section): Add prototype.
1544 * maint.c (maintenance_translate_address): Avoid assignment
1545 inside if, per GNU coding standards.
1546 * symfile.c (simple_read_overlay_table): Avoid assignments inside if,
1547 per GNU coding standards.
1549 * monitor.c (parse_register_dump): Is really a void function.
1551 (monitor_read_memory): Remove unused variable "name".
1552 (monitor_read_memory): Remove unused variable "regbuf".
1553 (monitor_open): Remove unused variable "i".
1554 (get_hex_word): Apparently unused, #if away for now.
1557 * i386v4-nat.c (supply_fpregset): Remove unused variable "regi".
1558 (fill_fpregset): Remove unused variables "regi", "to", "from" and
1561 * remote-e7000.c (ctype.h): Include.
1562 (e7000_insert_breakpoint): #if away unused arg used by unused expr.
1563 * frame.h (generic_get_saved_register): Add prototype.
1564 (enum lval_type): Add partial forward decl.
1565 * dsrec.c (make_srec): Remove unused variable "type_code".
1566 * remote-sim.c (gdbsim_wait): Handle sim_running and sim_polling
1567 cases by just ignoring them.
1568 (command.h): Include.
1571 * java-exp.y (parse_number): Remove unused variable "unsigned_p".
1572 * java-lang.c (gdbcore.h): Include for prototypes.
1573 (type_from_class): Remove unused variable "ftype".
1574 (type_from_class): Remove unused variable "name_length".
1575 (evaluate_subexp_java): Add default case to handle remaining
1577 * java-valprint.c (c-lang.h): Include for prototypes.
1580 * symfile.c (simple_read_overlay_region_table): #if away
1582 (simple_free_overlay_region_table): Ditto.
1583 (overlay_is_mapped): Add default case to switch.
1584 (simple_read_overlay_region_table): Ditto.
1585 (simple_read_overlay_region_table): Add prototype.
1587 * symtab.c (fixup_symbol_section): Remove unused msym variable.
1588 (fixup_psymbol_section): Ditto.
1589 (find_pc_sect_symtab): Make distance a CORE_ADDR.
1591 * utils.c: Add comment about t_addr being either unsigned long or
1593 (paddr): Change formats to match actual types args are cast to.
1598 * defs.h (perror_with_name): Is a NORETURN function.
1599 * utils.c (perror_with_name): Is a NORETURN function.
1600 (error): Is NORETURN independently of ANSI_PROTOTYPES.
1602 * symtab.c (fixup_symbol_section): Remove prototype.
1603 * symtab.h: (fixup_symbol_section): Add prototype.
1604 * m32r-rom.c (report_transfer_performance): Add prototype.
1605 * sparclet-rom.c: Ditto.
1608 * c-exp.y (parse_number): Cast args to float* or double* as
1609 appropriate for conversion format.
1611 * java-exp.y (parse_number): Ditto.
1614 * Makefile.in (c-exp.tab.c): Remove #line lines that refer
1615 to nonexistant y.tab.c file.
1617 (java-exp.tab.c): Ditto.
1619 (f-exp.tab.c): Ditto.
1620 (m2-exp.tab.c): Ditto.
1622 * sh-tdep.c (symfile.h): Include.
1623 (gdb_string.h): Include.
1624 (sh_fix_call_dummy): Ifdef away, currently unused.
1625 * config/sh/tm-sh.h (pop_frame): Add prototype.
1626 * config/sh/tm-sh.h (sh_set_processor_type): Add prototype.
1630 * eval.c (evaluate_subexp_for_sizeof): Handle dereferencing
1631 of non-pointer values.
1633 * symtab.c (gdb_mangle_name): Improve mangling of nested types,
1634 their physical names already include the class name.
1636 * valops.c (value_cast): Handle upcast of a class pointer.
1639 * corelow.c (get_core_registers): Make secname big enough.
1643 * config/sh/tm-sh.h: add define for FPSCR_REGNUM
1644 * sh-tdep.c (sh_show_regs): print out all registers for
1645 the current processor
1649 * remote-sim.c (gdbsim_kill): Remove call to depreciated function
1654 Fixes for recent correction to PE format:
1655 * coffread.c (pe_file): New static variable.
1656 (struct find_targ_sec_arg): Change resultp from pointer to int to
1657 pointer to pointer to asection.
1658 (find_targ_sec): Just store the section in args->resultp, not the
1659 section offset value.
1660 (cs_to_section): Compute the section offset value from the
1662 (cs_section_address): New static function.
1663 (coff_symfile_read): Set pe_file.
1664 (read_one_sym): When reading a PE file, adjust the symbol value to
1665 include the section address if the symbol has an appropriate
1670 * configure.tgt: add mipsr3900-elf target
1671 * config/mips/r3900.mt r3900l.mt tm-r3900.h tm-r3900l.h: ditto
1675 * dbxread.c: Check malloc's return for null, prevent segv.
1679 * infcmd.c (jump_command): Don't try to dereference sfn if it's
1684 * top.c (init_cmd_lists): Always initialize endianlist.
1685 (init_main): Always define endian commands.
1686 (set_endian_big): Issue warning if endian not selectable.
1687 (set_endian_little): Ditto.
1688 (set_endian_auto): Ditto.
1692 * remote-sim.c (simulator_command): Restrict access to the
1693 simulator to periods when the simulator is open.
1697 * procfs.c (init_procinfo): new function, abstracts some code
1698 shared by create_procinfo and do_attach;
1699 (procfs_set_inferior_syscall_traps): new function, abstracts
1700 some code needed by procfs_init_inferior, do_attach, and
1701 procfs_lwp_creation_handler; (procfs_first_available): new
1702 function, find any LWP that's runnable; (procfs_thread_alive):
1703 replace stub function with real implementation;
1704 (procfs_lwp_creation_handler): fix bug starting new child
1705 threads; (info_proc): bug fixes and enhancements for the
1706 "INFO PROCESSES" command; (close_procinfo_file): call new
1707 function "delete_thread" to cleanup GDB's thread database;
1708 (proc_init_failed): add new argument "kill", to control whether
1709 process is killed (so this function can be shared by
1710 create_procinfo and do_attach); (procfs_exit_handler): handle
1711 exit from an attached process, and cleanup procinfo handles
1712 when the process exits; (procfs_resume, procfs_wait): cleanup
1713 after a thread when it exits; (do_attach, do_detach): handle
1714 attached processes with multiple threads; plus some general
1715 improvements in the diagnostic output.
1716 * sol-thread.c (sol_thread_alive): replace stub with real
1717 implementation; (thread_to_lwp, lwp_to_thread): enhance to
1718 handle threads that may have exited; (sol_thread_attach): add
1719 startup setup stuff; (sol_thread_detach): add unpush_target
1720 call; (sol_thread_mourn_inferior): add unpush_target call;
1721 (sol_thread_wait, sol_thread_resume): enhance to deal with
1722 thread exit cleanly; (sol_thread_new_objfile,
1723 sol_thread_pid_to_str): detect unsuccessful startup and
1724 don't crash; plus some general cleanup.
1725 * thread.c (delete_thread): new function, allows targets to
1726 notify gdb when a thread is no longer valid.
1727 * infrun.c (wait_for_inferior): don't try to detect a new
1728 thread on receiving a TARGET_EXITED event.
1732 * remote-sim.c (gdbsim_open): Pass callback struct.
1733 (init_callbacks): Remove call to sim_set_callbacks.
1737 * config/rs6000/tm-rs6000.h (SIG_FRAME_LR_OFFSET): Define.
1738 * rs6000-tdep.c (frameless_function_invocation): Mark frames
1739 with a zero PC as frameless to improve backtraces from core dumps
1740 caused by dereferencing a NULL function pointer.
1741 (frameless_function_invocation, frame_saved_pc, rs6000_frame_chain):
1742 Handle frameless functions interrupted by a signal.
1744 * sparc-tdep.c (sparc_init_extra_frame_info, sparc_frame_saved_pc):
1745 Handle frameless functions interrupted by a signal.
1749 * mn10200-tdep.c (mn10200_analyze_prologue): Update prologue comments
1750 to reflect current reality. Gross attempt at handling out of
1753 * mn10200-tdep.c (mn10200_skip_prologue): Don't look at the debug
1754 symbols to find the end of the prologue.
1755 * mn10300-tdep.c (mn10300_skip_prologue): Likewise.
1757 start-sanitize-tic80
1760 * config/tic80/tm-tic80.h (NUM_REGS): 38 not 37.
1763 start-sanitize-tic80
1766 * tic80-tdep.c, config/tic80/tm-tic80.h: First cut at getting
1767 basic C80 features working.
1772 * configure.in (AC_TYPE_SIGNAL): Add
1773 * configure: Re-generate.
1774 * remote-sim.c: Signal returns RETSIGTYPE.
1778 * target.h (target_stop): Drop argument so it can be tested for
1783 * utils.c (floatformat_from_doublest): Handle infinity properly.
1787 * Finalize merge from Hurd folk.
1789 * thread.c (thread_apply_command, thread_apply_all_command,
1790 thread_command): Make sure TP is alive.
1791 (thread_alive): New function.
1793 * infrun.c (sig_print_info): Deal better with long signal names.
1795 * thread.c (thread_id_to_pid): New function.
1797 * gnu-nat.c: (set_thread_cmd_list, show_thread_cmd_list,
1798 set_thread_default_cmd_list, show_thread_default_cmd_list):
1799 New variables. (set_thread_cmd, show_thread_cmd,
1800 set_thread_default_cmd, show_thread_default_cmd): New functions.
1802 * gnu-nat.c (inf_startup): remove TASK parameter.
1803 (inf_set_task): replace with new function (inf_set_pid).
1804 * gdbthread.h: Add extern decl for thread_cmd_list.
1808 * printcmd.c (disassemble_command): Adjust low function bound
1809 by FUNCTION_START_OFFSET.
1811 start-sanitize-tic80
1814 * config/tic80/tm-tic80.h (BREAKPOINT): Set it to trap 73.
1819 * Makefile.in: Add rule for gnu-nat.o and i386gnu-nat.o (Gnu Hurd)
1820 * config/i386/i386gnu.mh: remove rules for [i386]gnu-nat.o, now
1821 in Makefile.in (as for other targets); add NATDEPFILE corelow.o to
1822 satisfy symbol dependancy in solib.c (core_ops).
1823 * target.[ch] conditionalize Mach-specific signals so that they
1824 won't show up in non-Mach gdb's!
1825 * thread.c: change name of static function "thread_switch" to
1826 "switch_to_thread", to avoid conflict with Mach global symbol;
1827 move thread_cmd_list to global scope so targets can add their
1828 own thread commands.
1829 * infrun.c: sig_print_info: allow for long signal names.
1830 * gnu-nat.[ch]: tidying up comments.
1831 * gnu-nat.c: remove calls to prune_threads and renumber_threads;
1832 gnu_wait must not return -1 when inferior exits;
1833 attach_to_child will modify inferior_pid in a way that allows
1834 fork_inferior to remain unchanged; remove extra arg from
1835 startup_inferior; move Mach thread commands here from thread.c.
1839 * symtab.c: decode_line_1, replace the assignment to
1840 values.sals[0].pc which I accidentally left out on 4/3/97.
1844 * c-exp.y: make parse_number reject "123DEADBEEF".
1845 (fix by Bob Manson).
1847 * java-exp.y: Ditto.
1849 * top.c: change "to enable to enable" to "to enable" in a couple
1854 * breakpoint.c (remove_breakpoint): Pass correct type to
1855 target_remove_watchpoint.
1856 * target.h: Improve comment for target_{remove,insert}_breakpoint.
1860 * alpha-tdep.c (heuristic_proc_desc): Increase search limit
1861 for return address register, handle `ret' instruction.
1863 * corelow.c (get_core_registers): Initialize cf.
1865 * procfs.c: Minor changes to make pre-ANSI compilers happy.
1866 (procfs_notice_signals): Copy traced signal set back to
1868 (unconditionally_kill_inferior): If PR_DEAD is defined,
1869 rerun inferior after killing it.
1873 * config/mn10300/tm-mn10300.h (EXTRACT_STRUCT_VALUE_ADDRESS): The
1874 structure value address is found in $a0 now.
1875 * config/mn10200/tm-mn10200.h (EXTRACT_STRUCT_VALUE_ADDRESS): Likewise.
1879 * config/mn10300/tm-mn10300.h (STORE_RETURN_VALUE): Pointers are
1881 (EXTRACT_RETURN_VALUE): Likewise.
1883 * mn10300-tdep.c (mn10300_analyze_prologue): Check for a return
1884 insn at "pc", not "fi->pc".
1886 start-sanitize-tic80
1889 * config/tic80/tm-tic80.h (NUM_REGS): Four 64bit accumulators.
1890 (REGISTER_BYTE, REGISTER_RAW_SIZE, REGISTER_SIZE,
1891 MAX_REGISTER_RAW_SIZE, REGISTER_VIRTUAL_TYPE): Adjust.
1892 (NPC_REGNUM): Tic80 has a delay slot.
1893 (R0_REGNUM, Rn_REGNUM, An_REGNUM): For sim, provide base/bound for
1899 * config/mn10200/tm-mn10200.h (STORE_RETURN_VALUE): Pointers are
1901 (EXTRACT_RETURN_VALUE): Likewise.
1905 * config/arm/tm-arm.h (TARGET_DOUBLE_FORMAT): Define to use
1906 floatformat_ieee_double_littlebyte_bigword for little endian
1908 * utils.c (floatformat_to_doublest): Create local preswapped
1909 copy of input for floatformat_littlebyte_bigword formats.
1910 (get_field, put_field): Treat floatformat_littlebyte_bigword
1911 the same as floatformat_little.
1912 (floatformat_from_doublest): Postswap output words for
1913 the floatformat_littlebyte_bigwords format.
1915 start-sanitize-tic80
1918 * config/tic80/tic80.mt (SIM): Link in simulator.
1923 * config/alpha/alpha-osf3.mh config/i386/{i386gnu linux}.mh
1924 config/mips/{embed embed64 embedl embedl64 vr4300 vr4300el vr5000
1925 vr5000el}.mt config/powerpc/{aix aix4}.mh config/rs6000/{aix
1926 aix4}.mh config/sh/sh.mt config/sparc/sp64sim.mt:
1927 config/v850/v850.mt:
1928 Remove -lm. That's now handled by configure.
1930 * Makefile.in (maintainer-clean): Add distclean to dependencies.
1931 Remove duplicate rm's of files.
1935 * remote-pa.c: Remove. It's broken and no longer necessary.
1940 * java-exp.y: Combine TRUE and FALSE into BOOLEAN_LITERAL.
1941 (Avoids name clash with broken AIX header files.)
1946 * serial.c (serial_log_command): Fix fputs_unfiltered calls.
1948 * config/powerpc/tm-ppc-aix4.h, config/rs6000/tm-rs6000-aix4.h
1949 (DONT_RELOCATE_SYMFILE_OBJFILE): Removed.
1950 * xcoffsolib.h (struct vmap): Add new members tvma, toffs and dvma,
1952 * exec.c (bfdsec_to_vmap): Initialize new vmap members, initialize
1953 tstart and dstart with section VMA.
1954 * rs6000-nat.c (vmap_symtab): Relocate relative to the VMA in the
1956 (vmap_ldinfo, xcoff_relocate_core): Adjust tstart by section offset
1957 of the text section, remove DONT_RELOCATE_SYMFILE_OBJFILE hack.
1958 (vmap_exec): Relocate relative to the VMA in the object file,
1959 relocate .bss section as well.
1960 (xcoff_relocate_core): No longer adjust section addresses by VMA.
1961 * rs6000-tdep.c (find_toc_address): Change type of tocbase
1963 * xcoffread.c (secnum_to_bfd_section): New routine to get
1964 BFD section from CS section number.
1965 (scan_xcoff_symtab): Make toc_offset section relative.
1967 * symtab.c (total_number_of_methods): Avoid core dump if
1968 baseclass type is still undefined.
1972 * Makefile.in (SUBDIRS): Add mswin so that make cleanup cleans up
1974 * defs.h utils.c (error warning): Make message be const.
1975 * main.c (fputs_unfiltered): Only send gdb_stdout and gdb_stderr
1976 to hook. Otherwise send it to fputs.
1977 * monitor.c monitor.h (monitor_get_dev_name): New function. Does
1979 * remote-e7000.c: Remove debugify stuff. Change printf, fprintf
1980 to _filtered forms to make output appear in GUIs. Replace all
1981 uses of SERIAL_READCHAR with readchar, which has better error
1983 * (e7000_parse_device): Add prototype.
1984 (readchar): Improve doc. Handle random serial errors.
1985 (expect): Disable notice_quit code. It's busted. Remove
1986 serial error handling (it's now handled in readchar). Remove
1987 remote_debug echoing. That's handled in readchar as well.
1988 (e7000_parse_device): Remove serial_flag arg. It's not
1990 (e7000_open): Split into two pieces. Second part is
1991 e7000_start_remote, and is error protected. Now, when we connect
1992 to the target, we setup the initial frame and registers so that
1993 the user gets an immediate indication of where the target is.
1994 (gch): Remove debug output. That's handled by readchar.
1995 (e7000_read_inferior_memory): Handle errors better.
1996 (_initialize_remote_e7000): Get rid of `<xxx>' things from
1997 command names. They show up when doing completion and confuse
1999 * ser-e7kpc.c: Get rid of the DLL's since we can access the device
2000 directly from Win32s and Win95. Get rid of debugify crud.
2001 * serial.c: Remove debugify cruft.
2002 * (serial_logchar serial_log_command serial_write serial_readchar
2003 serial_send_break serial_close): Merge common functionality into
2004 serial_logchar. Clean up rest of routines.
2005 * sparclet-rom.c: Disembowel. Leave only download routine.
2006 Download routine now switches to remote target automatically.
2007 * top.c (disconnect): Only define if SIGHUP is defined. Cleans
2008 up MSVC/Win32 problem.
2009 * utils.c (gdb_flush): Don't call hook unless it's for gdb_stdout
2011 * config/sh/tm-sh.h: Define TARGET_SH for WinGDB.
2012 * config/sparc/tm-sparclet.h: Remove override for prompt.
2016 * remote-sim.c (gdbsim_open): Only pass -E to sim_open if
2017 TARGET_BYTE ORDER_SELECTABLE.
2021 * remote-sim.c (init_callbacks): Initialize poll_quit and magic
2022 fields of gdb_callback.
2023 (gdbsim_stop): Add gdbsim_stop to list of supported client
2025 (gdbsim_wait, gdbsim_resume): Move call to sim_resume into
2026 sim_wait where gdb is in a position to handle a long running
2028 (gdbsim_cntrl_c): New function. Wrap the sim_resume call in a
2030 (gdb_os_poll_quit): New function. Check for a quit pending on the
2035 * objfiles.c (allocate_objfile): Allow NULL bfd argument.
2037 * defs.h (enum language): Add language_java.
2038 * java-exp.y, java-lang.c, java-lang.h, java-valprint.c: New files.
2039 * Makefile.in: Update for new files.
2040 * symfile.c (deduce_language_from_filename): Recognize .java.
2045 * m32r-stub.c (stash_registers): Rewrite.
2046 (restore_registers): Renamed to restore_and_return.
2047 (cleanup_stash): New function.
2048 (process_exception): New function.
2049 (_catchException*): Rewrite.
2051 * remote-sim.c (gdbsim_load): Update call to sim_load.
2052 (gdbsim_create_inferior): No longer pass start_address to
2053 sim_create_inferior.
2054 (gdbsim_open): Pass endian indicator as arg.
2058 * remote.c (get_offsets): Don't use scanf for interpreting
2059 response to qOffsets.
2063 * gdbserver/Makefile.in (INSTALL_XFORM): Remove.
2064 (INSTALL_XFORM1): Remove.
2065 (install-only): Use $(program_transform_name) directly, rather
2066 than using $(INSTALL_XFORM) and $(INSTALL_XFORM1).
2067 (uninstall): Transform name.
2071 * remote-mips.c (mips_load): Ensure that PC gets updated
2072 after a load on LSI target.
2076 * procfs.c (notice_signals): fix typo
2080 * gdbserver/Makefile.in (INSTALL): Change install.sh to
2085 * config/i386/cygwin32.mh: remove -lkernel32 from XM_CLIBS
2086 since gcc automatically includes it
2090 * procfs.c: Substantial (but incomplete) changes to support
2091 sysv4.2mp procfs as implemented in UnixWare 2.1. The procinfo
2092 struct now has substructs like struct flt_ctl instead of
2093 just a fltset_t and has a ctl_fd, status_fd, as_fd, and
2094 map_fd instead of a single fd. Non-sysv4.2mp procfs models
2095 still have the structs and multiple fds, but don't use the
2096 entire struct and the four fds all point to the same thing.
2097 We use PROCFS_USE_READ_WRITE to decide whether to talk to
2098 procfs with reads/writes or use ioctl instead. We use
2099 HAVE_MULTIPLE_PROC_FDS to determine whether procfs really has
2100 multiple fds or not. PROC_NAME_FMT is split out into
2101 CTL_PROC_NAME_FMT, AS_PROC_NAME_FMT, MAP_PROC_NAME_FMT,
2102 STATUS_PROC_NAME_FMT.
2104 (procfs_notice_signals): now a necessary wrapper around
2105 (notice_signals): which are the new guts for noticing signals
2106 (open_proc_file): gets a new flag arg used in sysv4.2mp to
2107 determine whether or not to attempt to open the ctl_fd.
2108 (procfs_read_status): new local function, reads procfs status
2109 (procfs_write_pcwstop): new local function, writes a PCWSTOP
2110 (procfs_write_pckill): new local function, writes a PCKILL
2111 (unconditionally_kill_inferior): remove signo since we now
2112 just call procfs_write_pckill().
2113 (procfs_xfer_memory): call lseek with SEEK_SET rather than 0
2114 (proc_iterate_over_mappings): the whole function is ifdefed
2115 on UNIXWARE to keep things readable.
2117 Expanded the syscall_table to include new potential sysv4.2mp
2118 members. Note that all ifdefs of UNIXWARE should be eliminated
2119 if possible or renamed to describe what's being selected for a
2120 bit better. Sysv4.2mp and IRIX both have SYS_sproc so the
2121 IRIX specific code now also checks it's not UNIXWARE.
2123 * config/i386/tm-i386v42mp.h: also define HAVE_PSTATUS_T,
2124 HAVE_NO_PRRUN_T, PROCFS_USE_READ_WRITE, and UNIXWARE
2125 * config/mips/nm-irix4.h: set CTL_PROC_NAME_FMT et al to
2126 "/debug/%d" as PROC_NAME_FMT used to be
2130 * mn10300-tdep.c: Almost completely rewritten based on mn10200
2132 * config/mn10300/tm-mn10300.h: Likewise.
2136 * config/pa/{hppabsd.mt hppahpux.mt hppaosf.mt}: Remove
2137 remote-pa.o from TDEPFILES. Nobody uses it, and besides, it's a
2138 lousy out-of-date clone of remote.c.
2142 * remote.c: Fix problems realized while showering.
2143 * (hexnumlen): Add prototype. Use max, not min.
2144 * (remote_write_bytes remote_read_bytes): Fix max packet size
2145 calculations to properly account for packet overhead. Also handle
2146 (probably rare) case where remote_register_buf_size isn't set.
2148 * remote.c: Fix doc for `C' and `S' commands to indicate full
2150 * (remote_ops extended_remote_ops remote_desc remote_write_size):
2152 * (remote_fetch_registers remote_write_bytes remote_read_bytes):
2153 Record size of response to fetch registers command, use this to
2154 limit size of memory read and write commands.
2155 * (push_remote_target): New function to make it possible to have
2156 another target switch to the remote target.
2157 * target.h: Add prototype for push_remote_target.
2158 * sh-tdep.c (sh_frame_find_saved_regs): Fix sign extension bugs
2159 for hosts which default to unsigned chars (such as SGI's).
2160 * (_initialize_sh_tdep): Don't set remote_write_size. It's now
2161 handled automatically in remote.c.
2165 * blockframe.c: blockvector_for_pc_sect(), block_for_pc_sect(),
2166 find_pc_sect_function(), find_pc_sect_partial_function(): new
2167 functions for debugging overlays; pc without section is ambiguous.
2168 * breakpoint.[ch]: add section pointer to breakpoint struct;
2169 add section argument to check_duplicates(); check section as well
2170 as pc in [breakpoint_here_p(), breakpoint_inserted_here_p(),
2171 breakpoint_thread_match(), bpstat_stop_status()];
2172 add section argument to describe_other_breakpoints();
2173 use INIT_SAL() macro to zero-out new sal structures;
2174 make resolve_sal_pc() fix up the sal's section as well as its pc;
2175 match on section + pc in clear_command() and delete_breakpoint();
2176 account for overlay sections in insert_breakpoints(),
2177 remove_breakpoint() and breakpoint_re_set_one();
2178 all this to support overlays where a PC is not unique.
2179 * exec.c: change xfer_memory() to handle overlay sections.
2180 * findvar.c: change read_var_value() to handle overlay sections.
2181 * frame.h: declaration for block_for_pc_sect() [blockframe.c].
2182 * infcmd.c: jump_command() warns against jumping into an overlay
2183 that's not in memory. Also use INIT_SAL() to initialize sals.
2184 * infrun.c: wait_for_inferior() sets a flag to invalidate cached
2185 overlay state information; Also use INIT_SAL() to init sals.
2186 * m32r-rom.c: modify load routines to use LMA instead of VMA.
2187 * m32r-stub.c: mask exit value down to 8 bits; screen out any
2188 memory read/writes in the range 600000 to a00000, and ff680000
2189 to ff800000 (hangs because nothing is mapped there); fix strcpy().
2190 * maint.c: maintenance command "translate-address" supports overlays.
2191 * minsyms.c: lookup_minimal_symbol_by_pc_sect() supports overlays.
2192 * objfiles.[ch]: add ovly_mapped field to the obj_section struct;
2193 this constitutes gdb's internal overlay mapping table. Add macro
2194 ALL_OBJSECTIONS() to loop thru the obj_structs and look at overlays.
2195 Add function find_pc_sect_section().
2196 * printcmd.c: modify print_address_symbolic() with overlay smarts;
2197 modify address_info() with overlay smarts; add function sym_info()
2198 to support the INFO SYMBOL command (translate address to symbol(s));
2199 modify disassemble_command() to work on unmapped overlays.
2200 * source.c: use INIT_SAL() to initialize sals.
2201 * symfile.[ch]: change generic_load() to use section's LMA address
2202 instead of VMA address, for overlay sections.
2203 Add numerous functions for finding a PC's section / overlay,
2204 translating between VMA and LMA address ranges, determining if an
2205 overlay section is mapped, etc. Add several user commands for
2206 overlay debugging. Add support for a "generic" form of automatically
2207 reading overlay mapping info from the inferior (based on the default
2208 (simple) overlay manager which Cygnus provides as an example).
2209 * symtab.[ch]: add functions find_pc_sect_symtab(),
2210 find_pc_sect_psymtab(), find_pc_sect_psymbol(), find_pc_sect_line()
2211 for lookup; modify lookup_symbol and decode_line_1() to use them;
2212 modify find_function_start_sal() to account for overlay sections;
2213 add macro INIT_SAL() for initializing struct symtab_and_line.
2214 * target.c: fix a comment in the declaration of target_ops.
2218 * mips-tdep.c (mips_in_call_stub, mips_in_return_stub,
2219 mips_skip_stub, mips_ignore_helper): New functions for dealing
2220 with MIPS16 call/return thunks.
2221 (mips_init_frame_pc_first): New function to implement
2222 INIT_FRAME_PC_FIRST macro; includes code from old macro plus
2223 new code to skip over MIPS16 thunks.
2224 (mips_frame_chain): Skip over MIPS16 thunks.
2225 * config/mips/tm-mips.h (mips_in_call_stub, mips_in_return_stub,
2226 mips_skip_stub, mips_ignore_helper): Declare.
2227 (IN_SOLIB_CALL_TRAMPOLINE, IN_SOLIB_RETURN_TRAMPOLINE,
2228 SKIP_TRAMPOLINE_CODE, IGNORE_HELPER_CALL): New macros that invoke
2229 the above functions.
2230 (INIT_FRAME_PC_FIRST): Change to invoke mips_init_frame_pc.
2231 (mips_init_frame_pc): Declare.
2232 * infrun.c (wait_for_inferior): Use new IGNORE_HELPER_CALL macro
2233 to decide if certain library function calls should be ignored.
2237 * remote-sim.c (gdbsim_open): Check return code from sim_open.
2238 Update call to sim_open (new arg SIM_OPEN_DEBUG).
2242 * gdbinit.in: New file.
2244 * configure.in: Generate .gdbinit from gdbinit.in.
2245 * configure: Rebuild.
2247 start-sanitize-tic80
2250 * config/tic80/tic80.mt: Disable using the simulator
2256 * COPYING: Install new version of file from FSF.
2257 * copying.c (show_copying_command): Update FSF address.
2261 * Makefile.in (distclean): Remove .gdbinit.
2263 start-sanitize-tic80
2266 * config/tic80/tm-tic80.h (NAMES_HAVE_UNDERSCORE): Define.
2271 * remote-sim.c (gdb_os_{,e}vprintf_filtered): Change stdarg type
2272 to va_list from void *, since va_list might not be a pointer
2277 * remote-mips.c: Clean up comment and extraneous semicolon
2278 for mips_monitor_prompt variable.
2282 * remote-mips.c: Add `set monitor-prompt' command.
2286 Fix from Peter Schauer:
2287 * mdebugread.c (parse_procedure): Set address of procedure to
2288 block start; this fixes problems with shared libraries introduced
2289 by change of Mar 21.
2293 * symtab.c (find_pc_symtab): change to support the case
2294 where the objfile is reordered and contains both coff and
2295 stabs debugging info (continue on if a psymtab isn't found).
2299 Fixes from Peter Schauer:
2300 * config/mips/tm-mips.h (REGISTER_CONVERT_TO_TYPE,
2301 REGISTER_CONVERT_FROM_TYPE): Swap words if target, not host,
2302 is big-endian and if registers are 32 bits.
2303 * mips-tdep.c (mips_print_register, mips_extract_return_value,
2304 mips_store_return_value): Fix floating-point word-order problems on
2305 little-endian targets introduced by changes of Mar 21.
2309 * remote.c (target_resume_hook, target_wait_loop_hook): New
2311 (remote_resume, remote_wait): Use them.
2312 * d10v-tdep.c: Set the above hooks.
2313 (tracesource): New GDB variable, controls source display in
2315 (display_trace): Find and display source line if requested.
2316 (trace_info): Mention empty trace buffer if appropriate.
2317 (tdisassemble_command): Robustify argument handling.
2319 * configure.host: Remove extra bogus Linux case.
2323 * remote-sim.c (simulator_command): Add comment about dealing with
2325 start-sanitize-tic80
2326 * Makefile.in (tic80-tdep.o): Add target.
2327 * configure.tgt: Add tic80 case.
2328 * tic80-tdep.c: New file.
2329 * config/tic80/{tic80.mt, tm-tic80.h}: New files.
2334 * c-exp.y (yylex): Handle nested template parameter lists.
2335 * symtab.c (decode_line_2): Fix test for valid choice number.
2339 * mips-tdep.c (mips_push_arguments): On non-EABI architectures,
2340 copy first two floating point arguments to general registers, so that
2341 MIPS16 functions will receive the arguments correctly.
2342 (mips_print_register): Print double registers correctly on
2343 little-endian hosts.
2344 (mips_extract_return_value): Return double values correctly
2345 on little-endian hosts.
2347 * mdebugread.c (parse_procedure): Adjust address of procedure relative
2348 to address in file descriptor record; this accounts for constant
2349 strings that may precede functions in the text section. Remove
2350 now-useless lowest_pdr_addr from argument list and all calls.
2354 * configure.tgt (powerpc*-{eabi,linux,sysv,elf}*): Determine
2355 whether the simulator will be built by whether the Makefile in the
2356 simulator directory was built.
2358 * configure.in (--enable-sim-powerpc): Delete switch.
2359 * configure: Regenerate.
2363 * mn10200-tdep.c (mn10200_analyze_prologue): Look for save of "a1"
2364 in the prologue too.
2366 * remote-sim.c (gdb_os_vprintf_filtered): Fix to work with non-ANSI
2368 (gdb_os_evprintf_filtered): Similarly.
2372 New UnixWare 2.1 configuration
2373 * config/i386/i386v42mp.mt: new
2374 * config/i386/i386v42mp.mh: new
2375 * config/i386/tm-i386v42mp.h: new
2376 * config/i386/nm-i386v42mp.h: new
2377 * configure.tgt: added new entries
2378 * configure.host: added new entries
2382 * dsrec.c (load_srec): Print leading zeroes when printing section
2387 * remote-sim.h: Delete - moved to ../include/remote-sim.h.
2389 * Makefile.in (remote_utils_h): Update path to remote-sim.h.
2393 * remote-sim.c (flush_stdout, write_stderr, flush_stderr,
2394 vprintf_filtered, evprintf_filtered): Callbacks that accept
2399 * breakpoint.c (insert_breakpoints, watchpoint_check,
2400 bpstat_stop_status): Do not disable watchpoints going out of scope.
2401 (insert_breakpoints): Make sure that the current frame is valid
2402 before calling find_frame_addr_in_frame_chain.
2404 * top.c (setup_user_args): Handle quotes and backslashes.
2405 (print_gdb_version): Update copyright year.
2409 * Makefile.in (elfread.o): Depend upon elf-bfd.h and elf/mips.h.
2413 * utils.c (pollquit, notice_quit): If _WIN32, limit test for
2415 (initialize_utils): If _WIN32, don't call ScreenRows and ScreenCols
2416 except under wingdb. (Contributed by Martin Hunt).
2420 * configure: Regenerated.
2421 * configure.in: Run AC_CONFIG_AUX_DIR before AC_CANONICAL_SYSTEM.
2425 * remote-sim.h (sim_state, SIM_DESC): New types.
2426 (sim_open): Return a `descriptor' as result.
2427 (*): New argument of descriptor result from sim_open.
2428 * remote-sim.c (gdbsim_desc): Renamed from gdbsim_open_p.
2429 (gdbsim_open): Record result of sim_open in gdbsim_desc.
2430 Pass argv list to sim_open, argv[0] = pseudo program name.
2431 (*): Pass gdbsim_desc to sim_foo fns.
2435 * config.in: Regenerated.
2437 * acconfig.h (START_INFERIOR_TRAPS_EXPECTED, sys_quotactl,
2438 HAVE_HPUX_THREAD_SUPPORT): Define.
2442 First cut at supporting simulators in gdbserver:
2444 * configure, configure.in: Allow gdbserver to be configured
2445 for cross-target environments.
2446 * gdbserver/Makefile.in: Add simulator support.
2447 * gdbserver/configure.in: Eliminate assumption that host == target.
2448 Simplify using gdb/configure.tgt and gdb/configure.host.
2449 Fix other minor configuration errors.
2450 * gdbserver/low-sparc.c: Fix compile error.
2451 * gdbserver/remote-utils.c: Eliminate assumption that registers
2452 and addresses are four bytes. Fix minor compile errors and warnings.
2453 * gdbserver/server.c: Rewrite numerous instances of identical code
2454 for starting inferior processes to call new function start_inferior.
2455 Eliminate assumption that registers and addresses are four bytes.
2456 * gdbserver/server.h: Add missing prototypes to eliminate compiler
2458 * gdbserver/low-sim.c: New file to mate gdbserver with simulators.
2459 * config/mips/vr5000.mt: Add Vr5000 simulator support to gdbserver.
2460 * config/i386/linux.mh: Eliminate gdbserver support as a first step
2461 in moving such support from host to target makefile fragments.
2462 * config/i386/linux.mt: Move gdbserver support here from linux.mh.
2466 * symtab.h (INIT_SAL): New macro to initialize symtab_and_line,
2467 to insure consistant initialization of unused fields to zero.
2468 * symtab.c: replace initializations of sals with new macro INIT_SAL.
2469 * breakpoint.c: ditto.
2472 * source.c: add call to INIT_SAL macro.
2476 * sparc-tdep.c (isbranch): Always handle v9 branch instructions,
2477 they might get used on 32 bit targets as well.
2481 * remote-mips.c (mips_exit_debug): Some IDT boards don't
2482 send the full exit string.
2486 * mn10200-tdep.c (mn10200_push_arguments): Handle new calling
2488 (mn10200_store_struct_return): Likewise.
2492 * mips-tdep.c (mips_fetch_instruction): New function; replace
2493 common code throughout with calls to it.
2494 (mips_find_saved_regs): Examine MIPS16 entry instruction to determine
2495 correct saved addresses of $s0 and $s1.
2496 (mips_find_saved_regs, mips16_heuristic_proc_desc): Use MIPS_REGSIZE
2497 instead of hardcoded 4.
2498 (mips16_skip_prologue): Handle extended instructions correctly.
2502 * defs.h (LONGEST): Move #ifndef LONGEST to outside.
2503 Try BFD_HOST_64_BIT if ! CC_HAS_LONG_LONG.
2507 * mips-tdep.c (IS_MIPS16_ADDR, MAKE_MIPS16_ADDR, UNMAKE_MIPS16_ADDR):
2508 New macros for testing, setting, and clearing bit 0 of addresses.
2509 Change numerous bits of code where bit 0 was being manipulated
2510 to use these macros.
2514 * remote-mips.c: Put back the form feeds.
2518 * remote-mips.c: Remove form feeds (^L) from source.
2519 (mips_initialize): LSI PMON doesn't support 'set regsize' command.
2520 (pmon_wait): Don't need to exit and re-enter debug mode on LSI
2521 PMON after a continue; it causes target program misbehavior.
2522 (mips_fetch_register): Don't fetch unsupported registers; this
2523 cuts down on wasted serial traffic.
2527 * configure.in configure (HPUX/OSF thread support): Enable this
2528 only when running GCC, since HP's thread header files use ANSI C
2529 which is not supported by their default compiler.
2531 * configure.host (i[3456]86-*-windows): Disable long long
2532 support for WinGDB. Add mswin to configdirs.
2533 * configure.in configure: Move calls to configure.host and
2534 configure.tgt to the top of configure.in to allow them to set
2535 config variables before they are referenced.
2539 * configure.tgt (mips*-*-lnews*): New target.
2543 * mn10200-tdep.c (mn10200_analyze_prologue): Don't fix fi->frame
2544 if we're not the innermost frame. Fix minor typos.
2548 * stabsread.c (read_type): Fix handling of template names
2549 with template parameters containing `::'.
2551 * valops.c (search_struct_field, search_struct_method):
2552 Pass correct valaddr parameter to baseclass_offset.
2553 Prevent gdb crashes by making sure that the virtual base pointer
2554 from an user object still points to accessible memory.
2558 * maint.c: Eliminate -Wall warnings by including some header files.
2562 * remote-sim.c (init_callbacks): Undo previous change.
2566 * maint.c: Fix dereference of pointer.
2567 * remote-sim.c: Fix reference of structure member "last_error".
2568 * debugify.c: Include config.h to get ANSI definitions.
2572 * remote-vx.c (vx_attach): Remove code added by kung. It made no
2577 * main.c (print_gdb_help): Make static to match declaration.
2581 * remote-e7000.c, ser-e7kpc.c, serial.c: Remove // comments.
2585 * debugify.c, debugify.h: Make safe for non-ansi compilers.
2589 * defs.h: Fix prototypes for new cleanup functions.
2593 * debugify.c, debugify.h: Fix for general gnu use. Remove C++
2594 comment, add PARAMS, add license info and fix indentation.
2598 * debugify.c, debugify.h: New files. Provide common macros
2599 for writing debug info to a log file or stdio.
2603 * c-valprint.c (c_val_print): Fix printing for arrays defined
2608 * defs.h: Fix cntl-C to read from the Windows message queue.
2609 Add prototypes for make_final_cleanup (and the other cleanup
2611 * remote-e7000.c: Fix sync code to timeout if unable to sync.
2612 Change sync code to report status while trying to sync-up
2613 with hardware. Add debugging output and document.
2614 * ser-e7kpc.c: Swap order of len & offset to match implementation.
2615 Add debugging output and document.
2616 * serial.c: Add debugging output.
2617 * top.c: Add call to do_final_cleanups.
2618 Remove conditionals preventing Win32 from getting SIGQUIT.
2619 * utils.c: (*_cleanup): Modify cleanup routines to accept a cleanup
2620 chain as a parameter. Extract this generic code from the cleanup
2621 routines into separate funtions (*_my_cleanup). Keep old
2622 functionality by passing "cleanup_chain" to the new funtions.
2623 Define the cleanup chain "final_cleanup_chain" to be a cleanup
2624 chain which will be executed only when gdb exits. Add functions
2625 (*_final_cleanup) to match the original (*_cleanup) functions.
2626 (pollquit, quit, notice_quit): Fix to read cntl-C from the
2627 Windows message queue.
2631 * m32r-rom.c: #include <sys/types.h>.
2632 #ifdef out new load support if wingdb.
2633 * m32r/tm-m32r.h (TARGET_M32R): Define, for wingdb.
2638 * config/mn10200/tm-mn10200.h (STORE_STRUCT_RETURN): Fix.
2639 * mn10200-tdep.c (mn10200_store_struct_return): New function.
2641 * config/mn10200/tm-mn10200.h (EXTRACT_RETURN_VALUE): Fix case when
2642 extracting a return value from a register pair.
2644 * mn10200-tdep.c (mn10200_push_arguments): Stack only needs to
2645 be two byte aligned. Round argument sizes up to two byte boundary.
2646 Write out args in two byte hunks.
2647 (mn10200_push_return_address): Implement.
2648 * config/mn10200/tm-mn10200.h (EXTRACT_RETURN_VALUE): Abort for
2649 structures > 8 bytes (temporary).
2650 (STORE_RETURN_VALUE): Likewise.
2651 (CALL_DUMMY): No longer undefine.
2652 (USE_STRUCT_CONVENTION): Use for args > 8 bytes.
2653 (REG_STRUCT_HAS_ADDR): Define.
2655 start-sanitize-r5900
2658 * configure.tgt: added r5900.
2663 * mips-tdep.c (non_heuristic_proc_desc): New function.
2664 (find_proc_desc): Move non-heuristic proc search code into separate
2666 (gdb_print_insn_mips): Use non-heuristic method to find procedure
2667 descriptor, to avoid prologue examination when disassembling.
2668 * remote-mips.c: Add support for new "lsi" target (LSI MiniRISC
2669 aka MicroMeteor board).
2670 (mips_exit_debug): Prevent protocol reinitialization if an error
2671 occurs while exiting debug mode.
2675 * mn10200-tdep.c: Remove lots of debugging printfs, update/improve
2676 comments, formatting, etc. Plus other minor fixes for problems
2677 I found during my first pass over the mn10200 port.
2678 (mn10200_analyze_prologue): New function.
2679 (mn10200_frame_chain, mn10200_init_extra_frame_info): Use it.
2680 * config/mn10200/tm-mn10200.h: Lots of updates/improvements to
2681 comments, formatting, etc. Minor fixes for problems I found during
2682 my first pass over the mn10200 port.
2683 (TARGET_*_BIT): Define appropriately for ints, long longs, doubles and
2685 (REGISTER_VIRTUAL_TYPE): Define as a long.
2686 (EXTRACT_RETURN_VALUE): Rework to deal with long ints living
2688 (STORE_RETURN_VALUE): Similarly.
2690 * blockframe.c (generic_get_saved_regs): Remove unused variable
2692 * breakpoint.c (frame_in_dummy): Move struct breakpoint *b decl
2693 inside #ifdef CALL_DUMMY.
2694 (watch_command_1): Initialize target_resources_ok.
2695 * command.c (do_setshow_command): Provide dummy initialization
2697 * valops.c (find_function_addr): Move function & prototype inside
2699 (value_arg_coerce): Similarly.
2700 (value_of_variable): Provide dummy initialization of "frame".
2704 * xcoffread.c (RECORD_MINIMAL_SYMBOL): Add NULL asection* parameter
2705 to prim_record_minimal_symbol_and_info call that was missed in Jan 3
2707 (scan_xcoff_symtab): Ditto.
2711 * remote-mips.c (common_breakpoint): Prevent 64-bit addresses
2712 from being sent to 32-bit targets by masking off upper bits.
2713 * mips-tdep.c (heuristic_proc_start): Mask off upper 32 bits
2714 of PC on 32-bit targets.
2715 (mips16_heuristic_proc_desc): Recognize 'addiu s1,sp,n' as a
2716 frame setup instruction.
2717 (mips32_heuristic_proc_desc): Fix warning found by gcc -Wall.
2718 (mips16_skip_prologue): Recognize 'addiu s1,sp,n' as a valid
2719 prologue instruction. Fix warnings and bugs found by gcc -Wall.
2720 * buildsym.c (finish_block): Improve handling of overlapping blocks;
2721 fixes problem on MIPS16 printing function arguments.
2725 * dwarf2read.c (dwarf2_linkage_name): New function to get
2726 the linkage name of a die from DW_AT_MIPS_linkage_name or
2728 (read_func_scope, dwarf2_add_field, dwarf2_add_member_fn,
2729 new_symbol): Use it instead of accessing DW_AT_name.
2730 (read_partial_die): Use DW_AT_MIPS_linkage name as name of the
2731 partial die if present.
2732 (dwarf2_add_member_fn): Make a copy of physname on the type obstack.
2736 * blockframe.c (generic_frame_chain_valid): If the new frame
2737 is not INNER_THAN the old frame, then it's not valid.
2741 * mips-tdep.c (mips16_get_imm): Fix calculation of extended immediate.
2742 (mips16_heuristic_proc_desc): Recognize jal(x) instruction.
2746 * mips-tdep.c (mips16_decode_reg_save): Distinguish between
2747 sd and sw instructions correctly.
2748 (heuristic_proc_start): Add support for MIPS16.
2749 (mips16_get_imm, mips16_heuristic_proc_desc,
2750 mips32_heuristic_proc_desc): New helper functions for
2751 heuristic_proc_desc.
2752 (heuristic_proc_desc): Rewrite and reorganize to support MIPS16.
2753 (mips_push_arguments): Don't align small arguments in EABI.
2754 (mips32_skip_prologue): Attempt to shrink code size a little.
2758 * m32r-stub.c: New -- remote protocol support for M32R cpu.
2759 * m32r-rom.c: Several experiments with improved download time.
2763 * mips-tdep.c (MIPS16_INSTLEN): Define.
2764 (mips_find_saved_regs): Replace hardcoded 2's with MIPS16_INSTLEN.
2765 (heuristic_proc_start): Recognize 'entry' pseudo-op as a start
2766 of function on MIPS16.
2767 (mips32_skip_prologue, mips16_skip_prologue): New helper functions
2768 for mips_skip_prologue.
2769 (mips_skip_prologue): Recognize both 16- and 32-bit prologues.
2773 * config/powerpc/ppc{,le}-sim.mt (SIM): Remove the library
2774 ../sim/common/libcommon.a.
2778 * blockframe.c: fix a null pointer ref in generic_get_saved_register
2782 * mn10200-tdep.c (mn10200_frame_chain): Get basic backtracing
2787 First set of changes for mips16:
2788 * config/mips/tm-mips.h (MIPS16_BIG_BREAKPOINT,
2789 MIPS16_LITTLE_BREAKPOINT, BREAKPOINT_FROM_PC): Define.
2790 (ABOUT_TO_RETURN): Call new function mips_about_to_return.
2791 (mips_breakpoint_from_pc, mips_about_to_return): Declare.
2792 * mem-break.c (memory_breakpoint_from_pc): New function.
2793 (memory_insert_breakpoint, memory_remove_breakpoint): Use
2794 memory_breakpoint_from_pc to determine breakpoint contents and size.
2795 * target.h (memory_breakpoint_from_pc): Declare.
2796 * monitor.c (monitor_insert_breakpoint): Use memory_breakpoint_from_pc
2797 to determine size of breakpoint instruction.
2798 * mips-tdep.c (mips32_decode_reg_save, mips16_decode_reg_save):
2799 New helper functions for mips_find_saved_regs.
2800 (mips_find_saved_regs): Recognize mips16 prologues.
2801 (mips_addr_bits_remove): Strip off upper 32 bits of address
2802 when target CPU is 32 bits but CORE_ADDR is 64 bits.
2803 (mips_step_skips_delay): No branch delay slot on mips16.
2804 (gdb_print_insn_mips): Disassemble mips16 code.
2805 (mips_breakpoint_from_pc, mips_about_to_return): New functions.
2809 * tm-mn10200.h (NUM_REGS): Decrease to 12.
2810 (REGISTER_NAMES): Elimination registers not found on the mn10200.
2811 (PC_REGNUM, MDR_REGNUM, PSW_REGNUM): Corresponding changes.
2812 (LIR_REGNUM, LAR_REGNUM): Delete. They don't exist on the mn10200.
2816 * dwarf2read.c: Replace integral tag, name and form fields in
2817 internal structure definitions with the corresponding enumeration
2818 types from dwarf2.h. Add default cases to switches on enumerations
2820 Make quoting of string arguments in complaint messages consistent.
2821 Check for NULL returns from DW_STRING.
2822 (struct partial_die_info): Add sibling and has_type fields, remove
2824 (DW_*): Move access macro definitions near the definition of the
2825 attribute structure.
2826 (struct field_info): New structure to pass information about fields
2827 and member functions between die processing routines.
2828 (dwarf2_build_psymtabs_hard): Set cu_header_offset.
2829 (scan_partial_symbols): Do not enter DW_TAG_subprogram dies into
2830 the partial symbol table if the DW_AT_*_pc attributes are missing.
2831 Add file scope base type definitions to the partial symbol table.
2832 Skip over child dies if the die has a sibling attribute.
2833 (add_partial_symbol): Enter global variables with type attributes
2834 and without location descriptors into the partial symbol table.
2835 Store value of DW_TAG_variable dies in the partial symbol table.
2836 Do not enter global variables into the minimal symbol table.
2837 Add base type definitions to the partial symbol table.
2838 (psymtab_to_symtab_1): Use dwarf2_get_pc_bounds to determine highpc.
2839 (process_die): Move check for DW_AT_low_pc to read_func_scope.
2840 Add a typedef symbol for base type definitions to the symbol table.
2841 Ignore DW_TAG_inlined_subroutine tags for now.
2842 (read_file_scope): Use dwarf2_get_pc_bounds to determine pc bounds.
2843 (read_func_scope, read_lexical_block_scope): Use dwarf2_get_pc_bounds
2844 to determine pc bounds, ignore dies with invalid bounds.
2845 (dwarf2_get_pc_bounds): New routine to extract and validate the
2846 DW_AT_*_pc attributes of a die.
2847 (dwarf2_add_field, dwarf2_attach_fields_to_type, skip_member_fn_name,
2848 dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type):
2849 New functions to handle fields and member functions.
2850 (read_structure_scope): Rewritten to use them.
2851 (read_array_type): Renamed from dwarf_read_array_type.
2852 Default upper array bound to describe an array with unspecified
2854 Create array types in backwards order, as dwarf2 puts out the array
2855 dimensions from left to right.
2856 (read_subroutine_type): Handle DW_TAG_unspecified_parameters,
2857 DW_AT_artificial and DW_AT_prototyped.
2858 (read_base_type): Make an unsigned type for DW_ATE_boolean.
2859 Pass objfile to dwarf_base_type.
2860 (read_partial_die): Use read_attribute to read in the attributes.
2861 Handle DW_AT_sibling and DW_AT_type.
2862 Follow references when determining DW_AT_name and DW_AT_external
2863 attributes of the die.
2864 Validate DW_AT_*_pc attributes.
2865 (read_full_die): Use read_attribute to read in the attributes.
2866 (read_attribute): New function to read an attribute described
2867 by an abbreviated attribute.
2868 (new_symbol): Relocate symbol value for DW_TAG_label with baseaddr.
2869 Do not set SYMBOL_VALUE_ADDRESS for DW_TAG_subprogram,
2870 SYMBOL_BLOCK_VALUE for the symbol will be set later by finish_block.
2871 Change symbol class for global variables with a zero valued location
2872 descriptor to LOC_UNRESOLVED.
2873 Handle DW_AT_const_value attributes for DW_TAG_variable,
2874 DW_TAG_formal_parameter and DW_TAG_enumerator.
2875 Build a typedef symbol for DW_TAG_base_type.
2876 (dwarf2_const_value): New routine to copy a constant value from an
2877 attribute to a symbol.
2878 (dwarf_base_type): Use passed in objfile, not current_objfile
2879 when calling dwarf2_fundamental_type.
2880 (dump_die): Use DW_* accessor macros to access values of attributes.
2881 (decode_locdesc): Handle DW_OP_plus_uconst.
2885 * mn10200-tdep.c: New file.
2886 * config/mn10200/tm-mn10200.h: New, REGISTER_SIZE is 24 bits not 32,
2887 SP_REGNUM and FP_REGNUM are different, also no lar or lir.
2888 * config/mn10200/mn10200.mt: New file.
2889 * configure.tgt: add mn10200 entry.
2893 * configure.in configure: Check if host has libdl if doing
2898 * mn10300-tdep.c: Wrote/fixed implementations of
2899 mn10300_frame_chain, mn10300_init_extra_frame_info,
2900 mn10300_frame_saved_pc
2901 * config/mn10300/tm-mn10300.h: Redefine INIT_EXTRA_FRAME_INFO
2902 and INIT_FRAME_PC macros.
2906 * configure.in configure: Check if host has libm. Make sure we
2907 are using gcc when using the -export-dynamic option. Fixes a
2908 problem with building under Solaris/SunPro cc.
2912 * config/mips/{embed,embed64,embedl,embedl64}.mt:
2913 Link in simulator on MIPS embedded targets.
2917 * blockframe.c (frameless_look_for_prologue): Mark frames
2918 with a zero PC as frameless to improve backtraces from core dumps
2919 caused by dereferencing a NULL function pointer.
2923 * config/mn10300/tm-mn10300.h: fix BREAKPOINT definition.
2927 * mn10300-tdep.c: made a lot more generic, ripping out code
2928 from copied target (no more mn10300_scan_prologue,
2929 init_extra_frame_info, and mn10300_fix_call_dummy calls)
2930 * config/mn10300/tm-mn10300.h: undefine INIT_EXTRA_FRAME_INFO
2931 and INIT_FRAME_PC macros
2935 * sparc-tdep.c (sparc_frame_find_saved_regs): Don't use
2936 FP_REGISTER_BYTES to compute offsets into the saved frame,
2937 since it fails for SPARC targets configured without any
2938 FP regs. Instead, use DUMMY_STACK_REG_BUF_SIZE.
2942 * symtab.c (fixup_symbol_section): Handle NULL symbols without
2947 * Makefile.in configure configure.in: Remove ENABLE_CLIBS,
2948 ENABLE_OBS, and THREAD_DB_OBS. These are consolidated into LIBS
2950 * configure configure.in: Clean up test cases around thread support.
2951 * configure.tgt (v850-*-*): Include v850ice.o and v850.lib if
2953 * c-valprint.c ch-valprint.c cp-valprint.c eval.c expprint.c
2954 printcmd.c valops.c value.h values.c: Add bfd_section arg to
2955 value_at and value_at_lazy.
2956 * coffread.c dbxread.c elfread.c mdebugread.c minsyms.c symtab.h:
2957 Add bfd_section arg to prim_record_minimal_symbol_and_info.
2958 * corefile.c gdbcore.h printcmd.c valops.c: Use read_memory_section
2959 instead of read_memory. It takes a bfd_section arg.
2960 * coffread.c dbxread.c elfread.c gdb-stabs.h objfiles.h: Remove
2961 unnecessary cast for assignment of struct dbx_symfile_info.
2962 Struct objfile now uses a real pointer instead of PTR for this
2964 * dbxread.c (dbx_symfile_init): Stash bfd section pointers for
2965 text, data and bss into dbx_symfile_info.
2966 * exec.c (xfer_memory): Handle transfers for user-specified
2968 * findvar.c (read_var_value locate_var_value): Copy bfd section
2969 from the symbol to the value.
2970 * gdb-stabs.h: Add section pointers for text, data and bss
2972 * maint.c (translate address command): Add test code for overlay
2973 address translation.
2974 * printcmd.c (do_examine do_one_display): Now takes a bfd section
2976 * (print_formatted x_command): Record current section along with
2977 current address for repeated commands.
2978 * sparc-nat.c (fetch_inferior_registers): Change
2979 target_xfer_memory to target_{read write}_memory to allow changes
2980 to target_xfer_memory interface for section info.
2981 * symmisc.c (dump_msymbols print_symbol): Print section
2982 assocaited with symbol.
2983 * symtab.c (fixup_symbol_section): New routine to
2984 add section info to symbols returned by lookup_symbol.
2985 * symtab.h (struct general_symbol_info): Add bfd section to
2987 * target.c target.h (target_xfer_memory): Add bfd section to
2989 * (target_read_memory_section): New routine to read data from a
2991 * (target_memory_bfd_section): New global variable to pass bfd
2992 section in to targets.
2993 * valarith.c (value_add value_addr value_array): Preserve bfd
2994 section when computing new value.
2995 * value.h (struct value): Add bfd section to values.
2996 * values.c (allocate_value value_copy): Initialize/preserve bfd
2998 * (unpack_double): Clean up _MSC_VER conditionals to remove
3000 * v850ice.c: New module to support communication with NEC's
3002 * config/v850/tm-v850.h (REGISTER_NAMES): Replace sp, gp, fp, and
3003 ep names with rxx names. sp and fp are renamed via a different
3008 * mn10300-tdep.c (mn10300_push_arguments): rewrote,
3009 also removed code elsewhere that made use of RP_REGNUM.
3010 * config/mn10300/tm-mn10300.h: ripped out RP_REGNUM, V0_REGNUM,
3011 ARG0_REGNUM, ARGLAST_REGNUM (all not appropriate for mn10300
3012 arch.), redefined SAVED_PC_AFTER_CALL, EXTRACT_RETURN_VALUE,
3013 EXTRACT_STRUCT_VALUE_ADDRESS, STORE_RETURN_VALUE.
3015 For older changes see ChangeLog-96
3021 version-control: never