3 * blockframe.c: blockvector_for_pc_sect(), block_for_pc_sect(),
4 find_pc_sect_function(), find_pc_sect_partial_function(): new
5 functions for debugging overlays; pc without section is ambiguous.
6 * breakpoint.[ch]: add section pointer to breakpoint struct;
7 add section argument to check_duplicates(); check section as well
8 as pc in [breakpoint_here_p(), breakpoint_inserted_here_p(),
9 breakpoint_thread_match(), bpstat_stop_status()];
10 add section argument to describe_other_breakpoints();
11 use INIT_SAL() macro to zero-out new sal structures;
12 make resolve_sal_pc() fix up the sal's section as well as its pc;
13 match on section + pc in clear_command() and delete_breakpoint();
14 account for overlay sections in insert_breakpoints(),
15 remove_breakpoint() and breakpoint_re_set_one();
16 all this to support overlays where a PC is not unique.
17 * exec.c: change xfer_memory() to handle overlay sections.
18 * findvar.c: change read_var_value() to handle overlay sections.
19 * frame.h: declaration for block_for_pc_sect() [blockframe.c].
20 * infcmd.c: jump_command() warns against jumping into an overlay
21 that's not in memory. Also use INIT_SAL() to initialize sals.
22 * infrun.c: wait_for_inferior() sets a flag to invalidate cached
23 overlay state information; Also use INIT_SAL() to init sals.
24 * m32r-rom.c: modify load routines to use LMA instead of VMA.
25 * m32r-stub.c: mask exit value down to 8 bits; screen out any
26 memory read/writes in the range 600000 to a00000, and ff680000
27 to ff800000 (hangs because nothing is mapped there); fix strcpy().
28 * maint.c: maintenance command "translate-address" supports overlays.
29 * minsyms.c: lookup_minimal_symbol_by_pc_sect() supports overlays.
30 * objfiles.[ch]: add ovly_mapped field to the obj_section struct;
31 this constitutes gdb's internal overlay mapping table. Add macro
32 ALL_OBJSECTIONS() to loop thru the obj_structs and look at overlays.
33 Add function find_pc_sect_section().
34 * printcmd.c: modify print_address_symbolic() with overlay smarts;
35 modify address_info() with overlay smarts; add function sym_info()
36 to support the INFO SYMBOL command (translate address to symbol(s));
37 modify disassemble_command() to work on unmapped overlays.
38 * source.c: use INIT_SAL() to initialize sals.
39 * symfile.[ch]: change generic_load() to use section's LMA address
40 instead of VMA address, for overlay sections.
41 Add numerous functions for finding a PC's section / overlay,
42 translating between VMA and LMA address ranges, determining if an
43 overlay section is mapped, etc. Add several user commands for
44 overlay debugging. Add support for a "generic" form of automatically
45 reading overlay mapping info from the inferior (based on the default
46 (simple) overlay manager which Cygnus provides as an example).
47 * symtab.[ch]: add functions find_pc_sect_symtab(),
48 find_pc_sect_psymtab(), find_pc_sect_psymbol(), find_pc_sect_line()
49 for lookup; modify lookup_symbol and decode_line_1() to use them;
50 modify find_function_start_sal() to account for overlay sections;
51 add macro INIT_SAL() for initializing struct symtab_and_line.
52 * target.c: fix a comment in the declaration of target_ops.
56 * mips-tdep.c (mips_in_call_stub, mips_in_return_stub,
57 mips_skip_stub, mips_ignore_helper): New functions for dealing
58 with MIPS16 call/return thunks.
59 (mips_init_frame_pc_first): New function to implement
60 INIT_FRAME_PC_FIRST macro; includes code from old macro plus
61 new code to skip over MIPS16 thunks.
62 (mips_frame_chain): Skip over MIPS16 thunks.
63 * config/mips/tm-mips.h (mips_in_call_stub, mips_in_return_stub,
64 mips_skip_stub, mips_ignore_helper): Declare.
65 (IN_SOLIB_CALL_TRAMPOLINE, IN_SOLIB_RETURN_TRAMPOLINE,
66 SKIP_TRAMPOLINE_CODE, IGNORE_HELPER_CALL): New macros that invoke
68 (INIT_FRAME_PC_FIRST): Change to invoke mips_init_frame_pc.
69 (mips_init_frame_pc): Declare.
70 * infrun.c (wait_for_inferior): Use new IGNORE_HELPER_CALL macro
71 to decide if certain library function calls should be ignored.
75 * remote-sim.c (gdbsim_open): Check return code from sim_open.
76 Update call to sim_open (new arg SIM_OPEN_DEBUG).
81 * configure.in (gdbtcl): Create soft-link for gdbtcl/ directory instead
87 * gdbinit.in: New file.
89 * configure.in: Generate .gdbinit from gdbinit.in.
95 * config/tic80/tic80.mt: Disable using the simulator
101 * COPYING: Install new version of file from FSF.
102 * copying.c (show_copying_command): Update FSF address.
106 * Makefile.in (distclean): Remove .gdbinit.
111 * config/tic80/tm-tic80.h (NAMES_HAVE_UNDERSCORE): Define.
116 * remote-sim.c (gdb_os_{,e}vprintf_filtered): Change stdarg type
117 to va_list from void *, since va_list might not be a pointer
123 * Makefile.in (gdbtk.o): look for GDBTK_LIBRARY in $(datadir) by
124 default, not $(srcdir).
129 * remote-mips.c: Clean up comment and extraneous semicolon
130 for mips_monitor_prompt variable.
134 * remote-mips.c: Add `set monitor-prompt' command.
138 Fix from Peter Schauer:
139 * mdebugread.c (parse_procedure): Set address of procedure to
140 block start; this fixes problems with shared libraries introduced
145 * symtab.c (find_pc_symtab): change to support the case
146 where the objfile is reordered and contains both coff and
147 stabs debugging info (continue on if a psymtab isn't found).
151 Fixes from Peter Schauer:
152 * config/mips/tm-mips.h (REGISTER_CONVERT_TO_TYPE,
153 REGISTER_CONVERT_FROM_TYPE): Swap words if target, not host,
154 is big-endian and if registers are 32 bits.
155 * mips-tdep.c (mips_print_register, mips_extract_return_value,
156 mips_store_return_value): Fix floating-point word-order problems on
157 little-endian targets introduced by changes of Mar 21.
161 * remote.c (target_resume_hook, target_wait_loop_hook): New
163 (remote_resume, remote_wait): Use them.
164 * d10v-tdep.c: Set the above hooks.
165 (tracesource): New GDB variable, controls source display in
167 (display_trace): Find and display source line if requested.
168 (trace_info): Mention empty trace buffer if appropriate.
169 (tdisassemble_command): Robustify argument handling.
171 * configure.host: Remove extra bogus Linux case.
175 * remote-sim.c (simulator_command): Add comment about dealing with
178 * Makefile.in (tic80-tdep.o): Add target.
179 * configure.tgt: Add tic80 case.
180 * tic80-tdep.c: New file.
181 * config/tic80/{tic80.mt, tm-tic80.h}: New files.
186 * c-exp.y (yylex): Handle nested template parameter lists.
187 * symtab.c (decode_line_2): Fix test for valid choice number.
191 * mips-tdep.c (mips_push_arguments): On non-EABI architectures,
192 copy first two floating point arguments to general registers, so that
193 MIPS16 functions will receive the arguments correctly.
194 (mips_print_register): Print double registers correctly on
196 (mips_extract_return_value): Return double values correctly
197 on little-endian hosts.
199 * mdebugread.c (parse_procedure): Adjust address of procedure relative
200 to address in file descriptor record; this accounts for constant
201 strings that may precede functions in the text section. Remove
202 now-useless lowest_pdr_addr from argument list and all calls.
206 * configure.tgt (powerpc*-{eabi,linux,sysv,elf}*): Determine
207 whether the simulator will be built by whether the Makefile in the
208 simulator directory was built.
210 * configure.in (--enable-sim-powerpc): Delete switch.
211 * configure: Regenerate.
215 * mn10200-tdep.c (mn10200_analyze_prologue): Look for save of "a1"
218 * remote-sim.c (gdb_os_vprintf_filtered): Fix to work with non-ANSI
220 (gdb_os_evprintf_filtered): Similarly.
224 New UnixWare 2.1 configuration
225 * config/i386/i386v42mp.mt: new
226 * config/i386/i386v42mp.mh: new
227 * config/i386/tm-i386v42mp.h: new
228 * config/i386/nm-i386v42mp.h: new
229 * configure.tgt: added new entries
230 * configure.host: added new entries
235 * Makefile.in: Install gdbtcl dir instead of gdbtk.tcl.
237 * gdbtk.c: Added some ifdefs for Windows. Changed GDBTK_FILENAME
238 to GDBTK_LIBRARY, which is now a path to search.
239 (gdb_path_conv): New function. Convert Cygwin32 pathname to
242 * {aclocal.m4,configure.in}: Changes for Windows builds.
244 * configure: Rebuilt.
249 * dsrec.c (load_srec): Print leading zeroes when printing section
254 * remote-sim.h: Delete - moved to ../include/remote-sim.h.
256 * Makefile.in (remote_utils_h): Update path to remote-sim.h.
260 * remote-sim.c (flush_stdout, write_stderr, flush_stderr,
261 vprintf_filtered, evprintf_filtered): Callbacks that accept
266 * breakpoint.c (insert_breakpoints, watchpoint_check,
267 bpstat_stop_status): Do not disable watchpoints going out of scope.
268 (insert_breakpoints): Make sure that the current frame is valid
269 before calling find_frame_addr_in_frame_chain.
271 * top.c (setup_user_args): Handle quotes and backslashes.
272 (print_gdb_version): Update copyright year.
276 * Makefile.in (elfread.o): Depend upon elf-bfd.h and elf/mips.h.
281 * configure: Regenerated.
282 * configure.in (LIBS): Re-reverse order of TCL_LIBS and TK_LIBS.
287 * utils.c (pollquit, notice_quit): If _WIN32, limit test for
289 (initialize_utils): If _WIN32, don't call ScreenRows and ScreenCols
290 except under wingdb. (Contributed by Martin Hunt).
294 * configure: Regenerated.
295 * configure.in: Run AC_CONFIG_AUX_DIR before AC_CANONICAL_SYSTEM.
299 * remote-sim.h (sim_state, SIM_DESC): New types.
300 (sim_open): Return a `descriptor' as result.
301 (*): New argument of descriptor result from sim_open.
302 * remote-sim.c (gdbsim_desc): Renamed from gdbsim_open_p.
303 (gdbsim_open): Record result of sim_open in gdbsim_desc.
304 Pass argv list to sim_open, argv[0] = pseudo program name.
305 (*): Pass gdbsim_desc to sim_foo fns.
309 * config.in: Regenerated.
311 * acconfig.h (START_INFERIOR_TRAPS_EXPECTED, sys_quotactl,
312 HAVE_HPUX_THREAD_SUPPORT): Define.
317 * gdbtk.c (x_event): Use Tcl_DoOneEvent, TCL_DONT_WAIT,
320 * configure: Regenerated.
321 * configure.in (ENABLE_GDBTK): Put TCL_LIBS after TK_LIBS in
328 First cut at supporting simulators in gdbserver:
330 * configure, configure.in: Allow gdbserver to be configured
331 for cross-target environments.
332 * gdbserver/Makefile.in: Add simulator support.
333 * gdbserver/configure.in: Eliminate assumption that host == target.
334 Simplify using gdb/configure.tgt and gdb/configure.host.
335 Fix other minor configuration errors.
336 * gdbserver/low-sparc.c: Fix compile error.
337 * gdbserver/remote-utils.c: Eliminate assumption that registers
338 and addresses are four bytes. Fix minor compile errors and warnings.
339 * gdbserver/server.c: Rewrite numerous instances of identical code
340 for starting inferior processes to call new function start_inferior.
341 Eliminate assumption that registers and addresses are four bytes.
342 * gdbserver/server.h: Add missing prototypes to eliminate compiler
344 * gdbserver/low-sim.c: New file to mate gdbserver with simulators.
345 * config/mips/vr5000.mt: Add Vr5000 simulator support to gdbserver.
346 * config/i386/linux.mh: Eliminate gdbserver support as a first step
347 in moving such support from host to target makefile fragments.
348 * config/i386/linux.mt: Move gdbserver support here from linux.mh.
352 * symtab.h (INIT_SAL): New macro to initialize symtab_and_line,
353 to insure consistant initialization of unused fields to zero.
354 * symtab.c: replace initializations of sals with new macro INIT_SAL.
355 * breakpoint.c: ditto.
358 * source.c: add call to INIT_SAL macro.
362 * sparc-tdep.c (isbranch): Always handle v9 branch instructions,
363 they might get used on 32 bit targets as well.
367 * remote-mips.c (mips_exit_debug): Some IDT boards don't
368 send the full exit string.
372 * mn10200-tdep.c (mn10200_push_arguments): Handle new calling
374 (mn10200_store_struct_return): Likewise.
378 * mips-tdep.c (mips_fetch_instruction): New function; replace
379 common code throughout with calls to it.
380 (mips_find_saved_regs): Examine MIPS16 entry instruction to determine
381 correct saved addresses of $s0 and $s1.
382 (mips_find_saved_regs, mips16_heuristic_proc_desc): Use MIPS_REGSIZE
383 instead of hardcoded 4.
384 (mips16_skip_prologue): Handle extended instructions correctly.
388 * defs.h (LONGEST): Move #ifndef LONGEST to outside.
389 Try BFD_HOST_64_BIT if ! CC_HAS_LONG_LONG.
393 * mips-tdep.c (IS_MIPS16_ADDR, MAKE_MIPS16_ADDR, UNMAKE_MIPS16_ADDR):
394 New macros for testing, setting, and clearing bit 0 of addresses.
395 Change numerous bits of code where bit 0 was being manipulated
400 * remote-mips.c: Put back the form feeds.
404 * remote-mips.c: Remove form feeds (^L) from source.
405 (mips_initialize): LSI PMON doesn't support 'set regsize' command.
406 (pmon_wait): Don't need to exit and re-enter debug mode on LSI
407 PMON after a continue; it causes target program misbehavior.
408 (mips_fetch_register): Don't fetch unsupported registers; this
409 cuts down on wasted serial traffic.
413 * configure.in configure (HPUX/OSF thread support): Enable this
414 only when running GCC, since HP's thread header files use ANSI C
415 which is not supported by their default compiler.
417 * configure.host (i[3456]86-*-windows): Disable long long
418 support for WinGDB. Add mswin to configdirs.
419 * configure.in configure: Move calls to configure.host and
420 configure.tgt to the top of configure.in to allow them to set
421 config variables before they are referenced.
425 * configure.tgt (mips*-*-lnews*): New target.
429 * mn10200-tdep.c (mn10200_analyze_prologue): Don't fix fi->frame
430 if we're not the innermost frame. Fix minor typos.
434 * stabsread.c (read_type): Fix handling of template names
435 with template parameters containing `::'.
437 * valops.c (search_struct_field, search_struct_method):
438 Pass correct valaddr parameter to baseclass_offset.
439 Prevent gdb crashes by making sure that the virtual base pointer
440 from an user object still points to accessible memory.
444 * maint.c: Eliminate -Wall warnings by including some header files.
448 * remote-sim.c (init_callbacks): Undo previous change.
452 * maint.c: Fix dereference of pointer.
453 * remote-sim.c: Fix reference of structure member "last_error".
454 * debugify.c: Include config.h to get ANSI definitions.
458 * remote-vx.c (vx_attach): Fix for PR 11356. Remove code added
459 by kung. It made no sense.
463 * main.c (print_gdb_help): Make static to match declaration.
467 * remote-e7000.c, ser-e7kpc.c, serial.c: Remove // comments.
471 * debugify.c, debugify.h: Make safe for non-ansi compilers.
475 * defs.h: Fix prototypes for new cleanup functions.
479 * debugify.c, debugify.h: Fix for general gnu use. Remove C++
480 comment, add PARAMS, add license info and fix indentation.
484 * debugify.c, debugify.h: New files. Provide common macros
485 for writing debug info to a log file or stdio.
489 * c-valprint.c (c_val_print): Fix printing for arrays defined
490 with 0 length. A sticky tag caused this fix from
491 revision 2.32 date: 1996/04/29 23:25:27; author: dawn;
492 state: Exp; lines: +1 -0 branches: 2.32.34;
493 to not make it into devo.
497 * defs.h: Fix cntl-C to read from the Windows message queue.
498 Add prototypes for make_final_cleanup (and the other cleanup
500 * remote-e7000.c: Fix sync code to timeout if unable to sync.
501 Change sync code to report status while trying to sync-up
502 with hardware. Add debugging output and document.
503 * ser-e7kpc.c: Swap order of len & offset to match implementation.
504 Add debugging output and document.
505 * serial.c: Add debugging output.
506 * top.c: Add call to do_final_cleanups.
507 Remove conditionals preventing Win32 from getting SIGQUIT.
508 * utils.c: (*_cleanup): Modify cleanup routines to accept a cleanup
509 chain as a parameter. Extract this generic code from the cleanup
510 routines into separate funtions (*_my_cleanup). Keep old
511 functionality by passing "cleanup_chain" to the new funtions.
512 Define the cleanup chain "final_cleanup_chain" to be a cleanup
513 chain which will be executed only when gdb exits. Add functions
514 (*_final_cleanup) to match the original (*_cleanup) functions.
515 (pollquit, quit, notice_quit): Fix to read cntl-C from the
516 Windows message queue.
521 * m32r-rom.c: #include <sys/types.h>.
522 #ifdef out new load support if wingdb.
523 * m32r/tm-m32r.h (TARGET_M32R): Define, for wingdb.
529 * config/mn10200/tm-mn10200.h (STORE_STRUCT_RETURN): Fix.
530 * mn10200-tdep.c (mn10200_store_struct_return): New function.
532 * config/mn10200/tm-mn10200.h (EXTRACT_RETURN_VALUE): Fix case when
533 extracting a return value from a register pair.
535 * mn10200-tdep.c (mn10200_push_arguments): Stack only needs to
536 be two byte aligned. Round argument sizes up to two byte boundary.
537 Write out args in two byte hunks.
538 (mn10200_push_return_address): Implement.
539 * config/mn10200/tm-mn10200.h (EXTRACT_RETURN_VALUE): Abort for
540 structures > 8 bytes (temporary).
541 (STORE_RETURN_VALUE): Likewise.
542 (CALL_DUMMY): No longer undefine.
543 (USE_STRUCT_CONVENTION): Use for args > 8 bytes.
544 (REG_STRUCT_HAS_ADDR): Define.
549 * configure.tgt: added r5900.
554 * mips-tdep.c (non_heuristic_proc_desc): New function.
555 (find_proc_desc): Move non-heuristic proc search code into separate
557 (gdb_print_insn_mips): Use non-heuristic method to find procedure
558 descriptor, to avoid prologue examination when disassembling.
559 * remote-mips.c: Add support for new "lsi" target (LSI MiniRISC
560 aka MicroMeteor board).
561 (mips_exit_debug): Prevent protocol reinitialization if an error
562 occurs while exiting debug mode.
566 * mn10200-tdep.c: Remove lots of debugging printfs, update/improve
567 comments, formatting, etc. Plus other minor fixes for problems
568 I found during my first pass over the mn10200 port.
569 (mn10200_analyze_prologue): New function.
570 (mn10200_frame_chain, mn10200_init_extra_frame_info): Use it.
571 * config/mn10200/tm-mn10200.h: Lots of updates/improvements to
572 comments, formatting, etc. Minor fixes for problems I found during
573 my first pass over the mn10200 port.
574 (TARGET_*_BIT): Define appropriately for ints, long longs, doubles and
576 (REGISTER_VIRTUAL_TYPE): Define as a long.
577 (EXTRACT_RETURN_VALUE): Rework to deal with long ints living
579 (STORE_RETURN_VALUE): Similarly.
581 * blockframe.c (generic_get_saved_regs): Remove unused variable
583 * breakpoint.c (frame_in_dummy): Move struct breakpoint *b decl
584 inside #ifdef CALL_DUMMY.
585 (watch_command_1): Initialize target_resources_ok.
586 * command.c (do_setshow_command): Provide dummy initialization
588 * valops.c (find_function_addr): Move function & prototype inside
590 (value_arg_coerce): Similarly.
591 (value_of_variable): Provide dummy initialization of "frame".
595 * gdbtk.c (call_wrapper): Clear running_now if an error occurs.
596 This fixes PR 11323, where gdbtk stops responding if an error occurs.
600 * xcoffread.c (RECORD_MINIMAL_SYMBOL): Add NULL asection* parameter
601 to prim_record_minimal_symbol_and_info call that was missed in Jan 3
603 (scan_xcoff_symtab): Ditto.
607 * remote-mips.c (common_breakpoint): Prevent 64-bit addresses
608 from being sent to 32-bit targets by masking off upper bits.
609 * mips-tdep.c (heuristic_proc_start): Mask off upper 32 bits
610 of PC on 32-bit targets.
611 (mips16_heuristic_proc_desc): Recognize 'addiu s1,sp,n' as a
612 frame setup instruction.
613 (mips32_heuristic_proc_desc): Fix warning found by gcc -Wall.
614 (mips16_skip_prologue): Recognize 'addiu s1,sp,n' as a valid
615 prologue instruction. Fix warnings and bugs found by gcc -Wall.
616 * buildsym.c (finish_block): Improve handling of overlapping blocks;
617 fixes problem on MIPS16 printing function arguments.
621 * dwarf2read.c (dwarf2_linkage_name): New function to get
622 the linkage name of a die from DW_AT_MIPS_linkage_name or
624 (read_func_scope, dwarf2_add_field, dwarf2_add_member_fn,
625 new_symbol): Use it instead of accessing DW_AT_name.
626 (read_partial_die): Use DW_AT_MIPS_linkage name as name of the
627 partial die if present.
628 (dwarf2_add_member_fn): Make a copy of physname on the type obstack.
632 * blockframe.c (generic_frame_chain_valid): If the new frame
633 is not INNER_THAN the old frame, then it's not valid.
637 * mips-tdep.c (mips16_get_imm): Fix calculation of extended immediate.
638 (mips16_heuristic_proc_desc): Recognize jal(x) instruction.
642 * mips-tdep.c (mips16_decode_reg_save): Distinguish between
643 sd and sw instructions correctly.
644 (heuristic_proc_start): Add support for MIPS16.
645 (mips16_get_imm, mips16_heuristic_proc_desc,
646 mips32_heuristic_proc_desc): New helper functions for
648 (heuristic_proc_desc): Rewrite and reorganize to support MIPS16.
649 (mips_push_arguments): Don't align small arguments in EABI.
650 (mips32_skip_prologue): Attempt to shrink code size a little.
655 * m32r-stub.c: New -- remote protocol support for M32R cpu.
656 * m32r-rom.c: Several experiments with improved download time.
657 * .Sanitize: Add entry for m32r-stub.c
662 * mips-tdep.c (MIPS16_INSTLEN): Define.
663 (mips_find_saved_regs): Replace hardcoded 2's with MIPS16_INSTLEN.
664 (heuristic_proc_start): Recognize 'entry' pseudo-op as a start
665 of function on MIPS16.
666 (mips32_skip_prologue, mips16_skip_prologue): New helper functions
667 for mips_skip_prologue.
668 (mips_skip_prologue): Recognize both 16- and 32-bit prologues.
672 * config/powerpc/ppc{,le}-sim.mt (SIM): Remove the library
673 ../sim/common/libcommon.a.
677 * blockframe.c: fix a null pointer ref in generic_get_saved_register
681 * mn10200-tdep.c (mn10200_frame_chain): Get basic backtracing
686 First set of changes for mips16:
687 * config/mips/tm-mips.h (MIPS16_BIG_BREAKPOINT,
688 MIPS16_LITTLE_BREAKPOINT, BREAKPOINT_FROM_PC): Define.
689 (ABOUT_TO_RETURN): Call new function mips_about_to_return.
690 (mips_breakpoint_from_pc, mips_about_to_return): Declare.
691 * mem-break.c (memory_breakpoint_from_pc): New function.
692 (memory_insert_breakpoint, memory_remove_breakpoint): Use
693 memory_breakpoint_from_pc to determine breakpoint contents and size.
694 * target.h (memory_breakpoint_from_pc): Declare.
695 * monitor.c (monitor_insert_breakpoint): Use memory_breakpoint_from_pc
696 to determine size of breakpoint instruction.
697 * mips-tdep.c (mips32_decode_reg_save, mips16_decode_reg_save):
698 New helper functions for mips_find_saved_regs.
699 (mips_find_saved_regs): Recognize mips16 prologues.
700 (mips_addr_bits_remove): Strip off upper 32 bits of address
701 when target CPU is 32 bits but CORE_ADDR is 64 bits.
702 (mips_step_skips_delay): No branch delay slot on mips16.
703 (gdb_print_insn_mips): Disassemble mips16 code.
704 (mips_breakpoint_from_pc, mips_about_to_return): New functions.
708 * tm-mn10200.h (NUM_REGS): Decrease to 12.
709 (REGISTER_NAMES): Elimination registers not found on the mn10200.
710 (PC_REGNUM, MDR_REGNUM, PSW_REGNUM): Corresponding changes.
711 (LIR_REGNUM, LAR_REGNUM): Delete. They don't exist on the mn10200.
715 * dwarf2read.c: Replace integral tag, name and form fields in
716 internal structure definitions with the corresponding enumeration
717 types from dwarf2.h. Add default cases to switches on enumerations
719 Make quoting of string arguments in complaint messages consistent.
720 Check for NULL returns from DW_STRING.
721 (struct partial_die_info): Add sibling and has_type fields, remove
723 (DW_*): Move access macro definitions near the definition of the
725 (struct field_info): New structure to pass information about fields
726 and member functions between die processing routines.
727 (dwarf2_build_psymtabs_hard): Set cu_header_offset.
728 (scan_partial_symbols): Do not enter DW_TAG_subprogram dies into
729 the partial symbol table if the DW_AT_*_pc attributes are missing.
730 Add file scope base type definitions to the partial symbol table.
731 Skip over child dies if the die has a sibling attribute.
732 (add_partial_symbol): Enter global variables with type attributes
733 and without location descriptors into the partial symbol table.
734 Store value of DW_TAG_variable dies in the partial symbol table.
735 Do not enter global variables into the minimal symbol table.
736 Add base type definitions to the partial symbol table.
737 (psymtab_to_symtab_1): Use dwarf2_get_pc_bounds to determine highpc.
738 (process_die): Move check for DW_AT_low_pc to read_func_scope.
739 Add a typedef symbol for base type definitions to the symbol table.
740 Ignore DW_TAG_inlined_subroutine tags for now.
741 (read_file_scope): Use dwarf2_get_pc_bounds to determine pc bounds.
742 (read_func_scope, read_lexical_block_scope): Use dwarf2_get_pc_bounds
743 to determine pc bounds, ignore dies with invalid bounds.
744 (dwarf2_get_pc_bounds): New routine to extract and validate the
745 DW_AT_*_pc attributes of a die.
746 (dwarf2_add_field, dwarf2_attach_fields_to_type, skip_member_fn_name,
747 dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type):
748 New functions to handle fields and member functions.
749 (read_structure_scope): Rewritten to use them.
750 (read_array_type): Renamed from dwarf_read_array_type.
751 Default upper array bound to describe an array with unspecified
753 Create array types in backwards order, as dwarf2 puts out the array
754 dimensions from left to right.
755 (read_subroutine_type): Handle DW_TAG_unspecified_parameters,
756 DW_AT_artificial and DW_AT_prototyped.
757 (read_base_type): Make an unsigned type for DW_ATE_boolean.
758 Pass objfile to dwarf_base_type.
759 (read_partial_die): Use read_attribute to read in the attributes.
760 Handle DW_AT_sibling and DW_AT_type.
761 Follow references when determining DW_AT_name and DW_AT_external
762 attributes of the die.
763 Validate DW_AT_*_pc attributes.
764 (read_full_die): Use read_attribute to read in the attributes.
765 (read_attribute): New function to read an attribute described
766 by an abbreviated attribute.
767 (new_symbol): Relocate symbol value for DW_TAG_label with baseaddr.
768 Do not set SYMBOL_VALUE_ADDRESS for DW_TAG_subprogram,
769 SYMBOL_BLOCK_VALUE for the symbol will be set later by finish_block.
770 Change symbol class for global variables with a zero valued location
771 descriptor to LOC_UNRESOLVED.
772 Handle DW_AT_const_value attributes for DW_TAG_variable,
773 DW_TAG_formal_parameter and DW_TAG_enumerator.
774 Build a typedef symbol for DW_TAG_base_type.
775 (dwarf2_const_value): New routine to copy a constant value from an
776 attribute to a symbol.
777 (dwarf_base_type): Use passed in objfile, not current_objfile
778 when calling dwarf2_fundamental_type.
779 (dump_die): Use DW_* accessor macros to access values of attributes.
780 (decode_locdesc): Handle DW_OP_plus_uconst.
784 * mn10200-tdep.c: New file.
785 * config/mn10200/tm-mn10200.h: New, REGISTER_SIZE is 24 bits not 32,
786 SP_REGNUM and FP_REGNUM are different, also no lar or lir.
787 * config/mn10200/mn10200.mt: New file.
788 * configure.tgt: add mn10200 entry.
792 * configure.in configure: Check if host has libdl if doing
797 * mn10300-tdep.c: Wrote/fixed implementations of
798 mn10300_frame_chain, mn10300_init_extra_frame_info,
799 mn10300_frame_saved_pc
800 * config/mn10300/tm-mn10300.h: Redefine INIT_EXTRA_FRAME_INFO
801 and INIT_FRAME_PC macros.
805 * configure.in configure: Check if host has libm. Make sure we
806 are using gcc when using the -export-dynamic option. Fixes a
807 problem with building under Solaris/SunPro cc.
811 * config/mips/{embed,embed64,embedl,embedl64}.mt:
812 Link in simulator on MIPS embedded targets.
816 * blockframe.c (frameless_look_for_prologue): Mark frames
817 with a zero PC as frameless to improve backtraces from core dumps
818 caused by dereferencing a NULL function pointer.
822 * config/mn10300/tm-mn10300.h: fix BREAKPOINT definition.
826 * mn10300-tdep.c: made a lot more generic, ripping out code
827 from copied target (no more mn10300_scan_prologue,
828 init_extra_frame_info, and mn10300_fix_call_dummy calls)
829 * config/mn10300/tm-mn10300.h: undefine INIT_EXTRA_FRAME_INFO
830 and INIT_FRAME_PC macros
834 * sparc-tdep.c (sparc_frame_find_saved_regs): Don't use
835 FP_REGISTER_BYTES to compute offsets into the saved frame,
836 since it fails for SPARC targets configured without any
837 FP regs. Instead, use DUMMY_STACK_REG_BUF_SIZE.
841 * symtab.c (fixup_symbol_section): Handle NULL symbols without
846 * Makefile.in configure configure.in: Remove ENABLE_CLIBS,
847 ENABLE_OBS, and THREAD_DB_OBS. These are consolidated into LIBS
849 * configure configure.in: Clean up test cases around thread support.
851 * configure.tgt (v850-*-*): Include v850ice.o and v850.lib if
854 * c-valprint.c ch-valprint.c cp-valprint.c eval.c expprint.c
855 printcmd.c valops.c value.h values.c: Add bfd_section arg to
856 value_at and value_at_lazy.
857 * coffread.c dbxread.c elfread.c mdebugread.c minsyms.c symtab.h:
858 Add bfd_section arg to prim_record_minimal_symbol_and_info.
859 * corefile.c gdbcore.h printcmd.c valops.c: Use read_memory_section
860 instead of read_memory. It takes a bfd_section arg.
861 * coffread.c dbxread.c elfread.c gdb-stabs.h objfiles.h: Remove
862 unnecessary cast for assignment of struct dbx_symfile_info.
863 Struct objfile now uses a real pointer instead of PTR for this
865 * dbxread.c (dbx_symfile_init): Stash bfd section pointers for
866 text, data and bss into dbx_symfile_info.
867 * exec.c (xfer_memory): Handle transfers for user-specified
869 * findvar.c (read_var_value locate_var_value): Copy bfd section
870 from the symbol to the value.
871 * gdb-stabs.h: Add section pointers for text, data and bss
873 * maint.c (translate address command): Add test code for overlay
875 * printcmd.c (do_examine do_one_display): Now takes a bfd section
877 * (print_formatted x_command): Record current section along with
878 current address for repeated commands.
879 * sparc-nat.c (fetch_inferior_registers): Change
880 target_xfer_memory to target_{read write}_memory to allow changes
881 to target_xfer_memory interface for section info.
882 * symmisc.c (dump_msymbols print_symbol): Print section
883 assocaited with symbol.
884 * symtab.c (fixup_symbol_section): New routine to
885 add section info to symbols returned by lookup_symbol.
886 * symtab.h (struct general_symbol_info): Add bfd section to
888 * target.c target.h (target_xfer_memory): Add bfd section to
890 * (target_read_memory_section): New routine to read data from a
892 * (target_memory_bfd_section): New global variable to pass bfd
893 section in to targets.
894 * valarith.c (value_add value_addr value_array): Preserve bfd
895 section when computing new value.
896 * value.h (struct value): Add bfd section to values.
897 * values.c (allocate_value value_copy): Initialize/preserve bfd
899 * (unpack_double): Clean up _MSC_VER conditionals to remove
902 * v850ice.c: New module to support communication with NEC's
904 * config/v850/tm-v850.h (REGISTER_NAMES): Replace sp, gp, fp, and
905 ep names with rxx names. sp and fp are renamed via a different
911 * mn10300-tdep.c (mn10300_push_arguments): rewrote,
912 also removed code elsewhere that made use of RP_REGNUM.
913 * config/mn10300/tm-mn10300.h: ripped out RP_REGNUM, V0_REGNUM,
914 ARG0_REGNUM, ARGLAST_REGNUM (all not appropriate for mn10300
915 arch.), redefined SAVED_PC_AFTER_CALL, EXTRACT_RETURN_VALUE,
916 EXTRACT_STRUCT_VALUE_ADDRESS, STORE_RETURN_VALUE.
918 For older changes see ChangeLog-96
924 version-control: never