Commit graph

4636 commits

Author SHA1 Message Date
Peter Schauer
d298568482 * valarith.c (value_binop): Take care of ANSI `value preserving'
rule, which was not addressed by the previous change.

	* rs6000-tdep.c (skip_prologue):  Handle `mr r31,r1', which is
	generated by gcc-2.6, as a synonym for `oril r31,r1,0'.

	* TODO:  Remove item about RS/6000 shared libraries.
1994-10-22 10:48:30 +00:00
J.T. Conklin
6b55e5e3b9 * configure.in (*-*-netware): Use config/mt-netware.
* config/mt-netware: New file.
* config/mt-i386-netware: Removed, separate configs for different
  netware architectures are no longer needed now that we have
  --with-headers.
1994-10-21 18:34:40 +00:00
Stu Grossman
479f0f18d4 * defs.h, infrun.c (wait_for_inferior), top.c: Call
target_wait_hook to allow GUI to handle blocking for inferior.  Call
	call_command_hook in execute_command to provide means for wrapping
	commands with GUI state change updates.
	* gdbtk.c (gdb_cmd):  Force GUI into idle mode when errors occur.
	* (gdb_stop):  New tcl command to stop the target process.
	* (x_event, gdbtk_wait):  Allow GUI to interrupt gdb out of target
	waits.
	* (gdbtk_call_command):  Wrapper around command processing to
	alert GUI of target state changes.
	* (gdbtk_init):  Get the fd of X server for doing async
	notification of X events (via x_event).  Setup new hooks.
	* gdbtk.tcl:  Add scrollbars to assembly and command windows.
	* Change window foreground & background colors.
	* Create margin tag for breakpoints in source and assembly windows.
	* Add new routines to be invoked when target state changes to/from
	idle.
	* Add start of expression window.
	* Change bindings of mouse button 1 in assembly and source window
	to just set or clear breakpoints when in the margin tag.
	* Change shape of register window to be more vertical to better
	reflect it's contents.
	* Add stop button.
	* Cleanup some code around command window bindings.

	* infrun.c (wait_for_inferior):  Make sure
	through_sigtramp_breakpoint is non-null before deleting.
1994-10-21 00:59:20 +00:00
J.T. Conklin
e1f49ff388 * config/powerpc/ppc-nw.mt (TDEPFILES): Removed exec.o. 1994-10-20 17:33:05 +00:00
Jim Kingdon
b4b5c9e9a3 * Makefile.in (coffread.o): Depend on target.h.
(remote-vx.o): Depend on gdb-stabs.h objfiles.h symfile.h $(bfd_h).
1994-10-20 14:01:39 +00:00
Jim Kingdon
91dc42c579 * TODO: Fix typo. 1994-10-20 05:52:41 +00:00
Jim Kingdon
3a47045432 * objfiles.c (objfile_relocate): When relocating ->sections, use
objfile not symfile_objfile.

	* symtab.h, minsyms.c (minsyms_sort): New function.
	* objfiles.c (objfile_relocate): Call it.

	* remote-vx.c (vx_add_symbols): Call breakpoint_re_set.

	* objfiles.c, objfiles.h (objfile_to_front): New function.
	* remote-vx.c (vx_add_symbols): Call it.

	* coffread.c (coff_symtab_read): Handle common symbols the same
	way that partial-stab.h does.
1994-10-20 05:15:46 +00:00
Rob Savoye
459877ea9d * hppa-tdep.c: Remove include files a.out.h, ioctl.h, and
machine/psl.h. These are host files.
1994-10-20 04:08:52 +00:00
Jim Kingdon
1e1e7a7ac8 * objfiles.h (struct objfile): Fix comment--minimal_symbol_count
does *not* include the terminating NULL msymbol.
1994-10-19 22:17:38 +00:00
J.T. Conklin
efd1a7a152 removed i386-nlmstub.c 1994-10-19 18:41:25 +00:00
Rob Savoye
fa52d491eb * monitor.c (monitor_load_srec,monitor_make_srec): Add an asrecord
loader that reads files using BFD and converts it on the fly.
	* monitor.c (set_loadtype_command): Fixed so it doesn't core dump.
	* monitor.c (monitor_load): check the load type and load the file
	accordingly. Default to gr_load_image().
	* monitor.c (monitor_load_ascii_srec): Load an ascii file in
	srecord format by downloading to the monitor.
	* w89k-rom.c, op50n-rom.c: set supported load types.
1994-10-19 03:02:17 +00:00
Rob Savoye
44b95869cf Add a ^C to the init string. 1994-10-19 03:00:29 +00:00
Rob Savoye
21ed3dcdbe * monitor.c (set_loadtype_command): Fixed so it doesn't core dump.
* monitor.c (monitor_load): check the load type and load the file
	accordingly. Default to gr_load_image().
	* monitor.c (monitor_load_ascii_srec): Load an ascii file in
	srecord format by downloading to the monitor.
	* w89k-rom.c, op50n-rom.c: set supported load types.
1994-10-18 00:55:51 +00:00
Jim Kingdon
ace354ea05 Fix typo in my recent ChangeLog entry. 1994-10-17 21:44:25 +00:00
Jim Kingdon
e7b5942b5c * Makefile.in (ALLDEPFILES): Remove xcoffexec.c.
* Makefile.in: Remove xcoffexec.o rule.

	* exec.c (exec_file_command): Add comment.

	Fix data and bss relocation for VxWorks 5.1:
	* remote-vx.c (vx_add_symbols): New function.
	(vx_load_command, add_symbol_stub): Call it instead of
	symbol_file_add.
	(vx_wait): Remove comment which was wrong to useless.
	* remote-vx.c: Reindent much of file.
	* coffread.c (cs_to_section, find_targ_sec): New functions.
	(process_coff_symbol): Set SYMBOL_SECTION to result
	from cs_to_section.
	(coff_symtab_read): Call cs_to_section and deal appropriate
	rather than assuming sections are in a certain order.  Deal with
	BSS.
	* coffread.c: Remove text_bfd_scnum variable.
1994-10-17 21:21:52 +00:00
Stan Shebs
62a64dde83 * corelow.c: Format to standard.
(core_close): Use name instead of bfd_filename.
1994-10-16 00:19:02 +00:00
Jim Kingdon
9de0904cce * symfile.c (reread_symbols): Include bfd_errmsg string in error
message if bfd_close fails.
	* exec.c (exec_close), solib.c (clear_solib), corelow.c
	(core_close), objfiles.c (free_objfile), irix5-nat.c
	(clear_solib), osfsolib.c (clear_solib), remote-utils.c
	(gr_load_image): Check for errors from bfd_close.
	* solib.c (look_for_base), remote-utils.c (gr_load_image),
	remote-udi.c (download), corelow.c (core_open), symfile.c
	(symfile_bfd_open), symfile.c (generic_load): Add comment
	regarding error from bfd_close.
	* remote-udi.c (download), remote-utils.c (gr_load_image): Add
	comment about bogus handling of errors from bfd_openr.
	* exec.c (exec_close): Add comment regarding memory leak and
	dangling reference to vp->name.
1994-10-15 18:28:35 +00:00
Jim Kingdon
e080a68fce * exec.c (map_vmap): Cast return from xmalloc to its proper type,
not to PTR.

	* symfile.c (reread_symbols): Include bfd_errmsg string in error
	message if bfd_close fails.
	* exec.c (exec_close), solib.c (clear_solib), corelow.c
	(core_close), objfiles.c (free_objfile), irix5-nat.c
	(clear_solib), remote-utils.c (gr_load_image):
	Check for errors from bfd_close.
	* solib.c (look_for_base), remote-utils.c (gr_load_image),
	remote-udi.c (download), corelow.c (core_open), symfile.c
	(symfile_bfd_open), symfile.c (generic_load): Add comment
	regarding error from bfd_close.
	* remote-udi.c (download), remote-utils.c (gr_load_image): Add
	comment about bogus handling of errors from bfd_openr.
	* exec.c (exec_close): Add comment regarding memory leak and
	dangling reference to vp->name.
1994-10-15 18:13:47 +00:00
Peter Schauer
966b6b3b9e * .Sanitize: Add nm-nbsd.h. 1994-10-15 10:53:17 +00:00
Peter Schauer
07aa9fdc6b * eval.c (evaluate_subexp): Make fnptr a LONGEST instead
of using longest_to_int.

	* infcmd.c (run_stack_dummy):  Reinstate set_current_frame call,
	mips and alpha targets need the real breakpoint pc for
	creating the breakpoint frame.

	* stack.c (return_command):  Cast return value to the return
	type of the function from which we return.
	* values.c (set_return_value):  Pass VALUE_CONTENTS unmodified
	to STORE_RETURN_VALUE.

	* symtab.c (lookup_symbol):  Remove search for `static mangled
	symbols', the search for `static symbols' already looks for
	mangled and demangled symbols via lookup_block_symbol.

	* valarith.c (value_binop):  Use ANSI C arithmetic conversions
	when performing integral evaluations, implement BINOP_EQUAL and
	BINOP_LESS.
	(value_equal, value_less):  Use value_binop to perform the
	comparison if both operands have TYPE_CODE_INT.

	* rs6000-tdep.c (pop_frame):  Make sure all registers are valid,
	as they are written back later. Handle sp restore for frameless
	functions. Use fdata.nosavedpc instead of fdata.frameless to
	determine if the pc has been saved.
	(function_frame_info):  Handle `mr r31,r1', which is generated by
	gcc-2.6, as a synonym for `oril r31,r1,0'.
	(skip_trampoline_code):  Handle shared library trampolines.
	* xcoffread.c (read_xcoff_symtabs):  Record XMC_GL symbols with
	their real name. Enables setting of breakpoints in shared libraries
	before the executable is run.
1994-10-15 10:50:07 +00:00
Rob Savoye
df3cf84a35 * monitor.h, remote-mon.c: Hack up to so the old ROM monitor
interface code still works with the new ROM monitor
	structures. Fake out a couple of fields.
1994-10-15 01:45:59 +00:00
Stan Shebs
f4eb99683b * h8500-tdep.c (target_read_sp, target_write_sp, target_read_pc,
target_write_pc, target_read_fp, target_write_fp): Rename to
	h8500_read_sp, etc.
	(h8500_read_pc, h8500_write_pc): Add pid argument.
	* config/h8500/tm-h8500.h (TARGET_READ_SP, TARGET_WRITE_SP,
	TARGET_READ_PC, TARGET_WRITE_PC, TARGET_READ_FP, TARGET_WRITE_FP):
	Change to match functions above.
1994-10-14 22:05:54 +00:00
Jim Kingdon
be9d82b8e5 * NEWS: Add item about if and while. 1994-10-13 20:44:08 +00:00
Jim Kingdon
f3601320cc * .gdbinit: Restore `end'; it was not excess. Reindent
list-objfiles to make this clear.  Comment out all of
	list-objfiles because old gdb's choke on it.
1994-10-13 20:36:04 +00:00
Ian Lance Taylor
da9fd98ce0 correct comment 1994-10-13 03:21:47 +00:00
Ian Lance Taylor
b0e4cdbb93 * config/mips/tm-bigmips64.h: Just define TARGET_BYTE_ORDER and
include tm-mips64.h.
1994-10-13 03:20:47 +00:00
Stan Shebs
6e2abcbc22 xcoffexec.c is gone 1994-10-13 02:37:31 +00:00
Stan Shebs
b5bfe299de * Makefile.in (ANNOTATE_OBS): New definition.
(COMMON_OBS): Add exec.o.
	(annotate.o): Remove extra compile rule.
	* config/*/*.mh, config/*/*.mt: Remove exec.o from *DEPFILES lists
	everywhere.
1994-10-13 02:28:24 +00:00
Rob Savoye
4e149f91f4 It works fully now. 1994-10-13 02:04:51 +00:00
Rob Savoye
7a1330f700 Cleanup debugging messages. 1994-10-13 02:03:09 +00:00
Stan Shebs
468794febd * .gdbinit: Remove excess `end'. 1994-10-13 02:00:07 +00:00
Stan Shebs
806f810b69 * exec.c: Merge in RS6000 support from xcoffexec.c.
(symfile.h, objfiles.h, xcoffsolib.h): Include.
	(vmap): New global variable.
	(exec_close): Close and free objects in vmap chain.
	(exec_file_command) [IBM6000_TARGET]: Set up initial vmap.
	(bfdsec_to_vmap, map_vmap): Moved here from xcoffexec.c.
	(exec_files_info): Print vmap information.
	* xcoffexec.c: Remove.
	* config/rs6000/rs6000.mt, config/rs6000/rs6000lynx.mt
	(TDEPFILES): Use exec.o instead of xcoffexec.o.
	* TODO: Remove pertinent items.
1994-10-13 01:16:19 +00:00
Rob Savoye
e6fa5bd61d Cleanup debug logging, fix single stepping. WinBond works good! 1994-10-12 23:12:47 +00:00
Jeff Law
746eb2ac97 * partial-stab.h (N_TEXT): Delete GDB_TARGET_IS_HPPA kludge; they
are no longer needed as of gcc-2.6.0.
1994-10-12 16:13:51 +00:00
Rob Savoye
7804e5bc7c Breakpoints work, run works. Fixed "monitor" command. 1994-10-12 03:34:08 +00:00
Rob Savoye
f1ca4cbc21 Writing to memory now works for both targets. 1994-10-11 22:12:30 +00:00
Ian Lance Taylor
60e86a677e * lynx-nat.c (child_wait): Correct handling of byte reversed SPARC
Lynx wait status.
	(fetch_core_registers): Don't try to fetch a register if
	regmap maps it to -1.
	* sparc-tdep.c (sparc_frame_find_saved_regs): Use FRAME_SAVED_I0
	and FRAME_SAVED_L0 when setting saved_regs_addr.  SPARC Lynx
	stores the registers in a weird order.
These patches make SPARC Lynx gdb usable, though it still has problems.
1994-10-11 21:08:57 +00:00
Rob Savoye
51d6a95404 Memory_reads_inferior() and monitor_fetch_registers() now work good on
both targets. On to the "set" functions...
1994-10-11 04:37:18 +00:00
Jim Kingdon
62433a301a * gdb.base/corefile.exp: Add (xfail'd) test for reinit_frame_cache
bug involving using inferior_pid to figure out whether to select a
	frame.
1994-10-09 14:52:02 +00:00
Jim Kingdon
87888df69f * blockframe.c (reinit_frame_cache): Reinstate select_frame call
if inferior_pid is nonzero.
1994-10-09 04:02:32 +00:00
Peter Schauer
5fc46f6c7e * config/sparc/tm-sparc.h: Add PARAMS declarations to all
function declarations.
1994-10-08 11:55:45 +00:00
Peter Schauer
7621229598 Speed up GDB startup time by not demangling partial symbols.
* symfile.h (ADD_PSYMBOL_VT_TO_LIST),
	symfile.c (add_psymbol_to_list, add_psymbol_addr_to_list):
	No longer demangle partial symbols.
	* symtab.c (lookup_symbol, list_symbols): Handle mangled
	variables, e.g. C++ static members, via the minimal symbols.

	Handle reordered functions in an objfile, for Irix 5.2 shared
	libraries.
	* objfiles.h (OBJF_REORDERED):  New bit in the objfile flags,
	set if the functions in an objfile are reordered.
	* mdebugread.c (parse_partial_symbols):  Detect reordered
	functions in an objfile.
	* symtab.c (find_pc_psymtab, find_pc_symtab):  Use expensive
	lookup algorithm if the functions in the objfile are reordered.

	* xcoffexec.c (exec_close):  If the current target has a copy
	of the exec_ops sections, reflect the freeing of the sections
	in current_target.

	* valops.c (call_function_by_hand):  Use `sizeof dummy1', not
	`sizeof dummy', for constructing the call dummy code.

	* config/sparc/tm-sparc.h:  Add PARAMS declarations to all
	function declarations.
	* sparc-tdep.c (sparc_pop_frame):  Cast result of
	read_memory_integer to CORE_ADDR when passing it to PC_ADJUST.

	* irix5-nat.c (enable_break):  Set breakpoint at the entry point
	of the executable, to handle the case where main resides in a
	shared library.
	* irix5-nat.c (solib_create_inferior_hook):  Reset stop_soon_quietly
	after shared library symbol reading, to get rid of a warning from
	heuristic_proc_start if the startup code has no symbolic debug info.

	* breakpoint.h (struct breakpoint):  Add new fields language
	and input_radix, to enable breakpoint resetting with the
	proper language and radix.
	* breakpoint.c (set_raw_breakpoint):  Initialize them.
	(breakpoint_re_set_one):  Use them when resetting the breakpoint.
	(breakpoint_re_set):  Preserve current language and input_radix
	across breakpoint_re_set_one calls.

	* symtab.c (decode_line_1):  Do not build a canonical line
	specification for `*expr' line specifications.

	* breakpoint.h (bpstat_stop_status):  Fix prototype declaration.
1994-10-08 11:54:29 +00:00
Jim Kingdon
16726dd15b The point of these changes is to avoid reading the frame pointer
and stack pointer during stepping, to speed things up.
	A.  Changes to not select a frame until we need a selected frame:
	    * blockframe.c (flush_cached_frames): Call select_frame (NULL, -1).
	    * infrun.c (wait_for_inferior): Move call to select_frame back to
	    normal_stop.  This reverts a change of 13 Apr 94 (it says Jeff
	    Law, but the change was my idea); the only reason for that change
	    was so we could save and restore the selected frame in
	    wait_for_inferior, and now that flush_cached frames clears the
	    selected frame, that should work OK now.
	B.  Changes to not create a current_frame until we need one:
	    * blockframe.c (get_current_frame): If current_frame is NULL, try
	    to create an innermost frame.
	    * sparc-tdep.c (sparc_pop_frame), infcmd.c (run-stack_dummy),
	    infrun.c (wait_for_inferior), thread.c (thread_switch),
	    convex-tdep.c (set_thread_command), a29k-tdep.c (pop_frame),
	    alpha-tdep.c (alpha_pop_frame), convex-xdep.c (core_file_command),
	    h8300-tdep.c (h8300_pop_frame), h8500-tdep.c (h8300_pop_frame),
	    hppa-tdep.c (hppa_pop_frame), i386-tdep.c (i386_pop_frame),
	    i960-tdep.c (pop_frame), m68k-tdep.c
	    (m68k_pop_frame), mips-tdep.c (mips_pop_frame), rs6000-tdep.c
	    (push_dummy_frame, pop_dummy_frame, pop_frame), sh-tdep.c
	    (pop_frame), config/arm/tm-arm.h (POP_FRAME),
	    config/convex/tm-convex.h (POP_FRAME), config/gould/tm-pn.h
	    (POP_FRAME), config/ns32k/tm-merlin.h (POP_FRAME),
	    config/ns32k/tm-umax.h (POP_FRAME), config/tahoe/tm-tahoe.h
	    (POP_FRAME), config/vax/tm-vax.h (POP_FRAME): Don't
	    call create_new_frame.
	    * corelow.c (core_open), altos-xdep.c (core_file_command),
	    arm-xdep.c (core_file_command), gould-xdep.c (core_file_command),
	    m3-nat.c (select_thread), sun386-nat.c (core_file_command),
	    umax-xdep.c (core_file_command): Don't call create_new_frame; do
	    call flush_cached_frames.
	    * blockframe.c (reinit_frame_cache): Don't call create_new_frame
	    or select_frame.
	C.  Changes to get rid of stop_frame_address and instead only
	fetch the frame pointer when we need it.
	    * breakpoint.c (bpstat_stop_status): Remove argument
	    frame_address; use FRAME_FP (get_current_frame ()).
	    * infrun.c (wait_for_inferior): Don't pass frame pointer to
	    bpstat_stop_status.
	    * infrun.c (wait_for_inferior): Use FRAME_FP (get_current_frame
	    ()) instead of stop_frame_address.
	    * infrun.c (save_inferior_status, restore_inferior_status),
	    inferior.h (struct inferior_status): Don't save and restore
	    stop_frame_address.
	    * inferior.h, infcmd.c, thread.c (thread_switch), m3-nat.c
	    (select_thread): Remove stop_frame_address and uses thereof.
	D.  Same thing for the stack pointer.
	    * infrun.c (wait_for_inferior): Remove stop_sp and replace
	    uses thereof with read_sp ().
	E.  Change to eliminate one nasty little spot where we were
	wanting to know the frame pointer from before the current step
	(idea from GDB 3.5, which saved my ass, because my other ideas of
	how to fix it were very baroque).
	    * infrun.c: Remove prev_frame_address.
	    * infrun.c (wait_for_inferior, step_over_function): Use
	    step_frame_address instead of prev_frame_address.
	F.  Same basic idea for the stack pointer.
	    * inferior.h, infcmd.c: New variable step_sp.
	    * infcmd.c (step_1, until_next_command): Set it.
	    * infrun.c: Remove prev_sp and replace uses by step_sp.
	    * infrun.c (wait_for_inferior): If we get out of the step
	    range, then set step_sp to the current stack pointer before we
	    start going again.
1994-10-08 03:41:21 +00:00
Ian Lance Taylor
688427fb38 whoops 1994-10-07 16:33:35 +00:00
Ian Lance Taylor
b83ed01952 * top.c (target_byte_order_auto): New static variable.
(set_endian): Mention that ``auto'' is permitted.
	(set_endian_auto): New static function.
	(show_endian): Change message based on target_byte_order_auto.
	(set_endian_from_file): New function.
	(init_main): Add command ``auto'' to endianlist.
	* exec.c (exec_file_command): Call set_endian_from_file.
	* defs.h (set_endian_from_file): Declare.
1994-10-07 16:20:21 +00:00
J.T. Conklin
c9228cfe64 * nlm/i386.c (flush_i_cache): New function, does nothing.
(frame_to_registers, registers_to_frame, set_step_traps,
clear_step_traps, do_status): Make non-static.
1994-10-07 01:17:02 +00:00
Ian Lance Taylor
b8176214a5 * defs.h: If TARGET_BYTE_ORDER_SELECTABLE is defined by tm.h,
define TARGET_BYTE_ORDER as target_byte_order, and declare
	target_byte_order as an extern int, and define BITS_BIG_ENDIAN as
	a test of TARGET_BYTE_ORDER.
	* top.c: Several additions if TARGET_BYTE_ORDER_SELECTABLE is
	defined:
	(endianlist, target_byte_order): New variables.
	(set_endian, set_endian_big, set_endian_little): New functions.
	(show_endian): New function.
	(init_cmd_lists): Initialize endianlist.
	(init_main): Add commands ``set endian big'', ``set endian
	little'', and ``show endian''.
	* a29k-pinsn.c: Rewrite uses of TARGET_BYTE_ORDER and
	BITS_BIG_ENDIAN to switch at run time rather than at compile time.
	* coffread.c, dwarfread.c, findvar.c, mips-tdep.c: Likewise.
	* remote-os9k.c, stabsread.c, valarith.c, valprint.c: Likewise.
	* values.c: Likewise.
	* mips-tdep.c: Rewrite uses of GDB_TARGET_IS_MIPS64 to switch at
	run time rather than at compile time.
1994-10-06 16:47:32 +00:00
Ian Lance Taylor
97d3151a59 * config/mips/tm-mips.h (GDB_TARGET_IS_MIPS64): If not already
defined, define as 0.
	(FIX_CALL_DUMMY): Rewrite to remove presumption that host and
	target are similar.
	* config/mips/tm-idt.h (TARGET_BYTE_ORDER_SELECTABLE): Define.
	* config/mips/tm-idtl.h (TARGET_BYTE_ORDER_SELECTABLE): Define.
	* config/mips/tm-idt64.h (TARGET_BYTE_ORDER_SELECTABLE): Define.
	(BREAKPOINT): Remove definition.
	* config/mips/tm-idtl64.h (TARGET_BYTE_ORDER_SELECTABLE): Define.
	(BREAKPOINT): Remove definition.
	* config/mips/tm-mips64.h (GDB_TARGET_IS_MIPS64): Define with a
	value of 1, rather than without a value.
	* config/mips/tm-bigmips64.h (GDB_TARGET_IS_MIPS64): Likewise.
1994-10-06 16:43:40 +00:00
Ian Lance Taylor
1a406ce8c4 * remote-mips.c (break_insn): Remove.
(BREAK_INSN, BREAK_INSN_SIZE): Define.
	(mips_insert_breakpoint): Use BREAK_INSN, not break_insn.
	(mips_remove_breakpoint): Likewise.
1994-10-06 16:42:52 +00:00
Rob Savoye
27e889bf60 Both targets initialize, can dump registers too. 1994-10-06 05:28:49 +00:00