Commit graph

2538 commits

Author SHA1 Message Date
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
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
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
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
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
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
J.T. Conklin
140b35b3e4 * nlm/configure.in: ${gdb_host_cpu} defaults to ${host_cpu}. 1994-10-05 21:01:54 +00:00
J.T. Conklin
2d91232266 yet another typo 1994-10-05 18:45:58 +00:00
J.T. Conklin
5bb8c3ea1d Fix typo 1994-10-05 18:43:12 +00:00
J.T. Conklin
621e4c97d0 * nlm/Makefile.in: Get rid of NWINCLUDES.
* config/{alpha,i386,powerpc}: Remove NWINCLUDES.  User should
  now configure with --with-headers.
1994-10-05 18:40:49 +00:00
Jim Kingdon
3bb27ebf8a * gdbserver/server.c (main): Silently accept all unrecognized
requests and send back a zero length acknowledge.  That is what
	*-stub.c do and is what remote.c expects.
1994-10-03 14:51:22 +00:00
Peter Schauer
a91b6ec8f0 * corelow.c (core_open): Copy the modified to_sections_end
vector from current_target to core_ops too.

	* gdbserver/server.c (main):  Silently accept query requests
	and send back a zero length acknowledge.
1994-10-03 12:13:46 +00:00
J.T. Conklin
496b2222a6 * nlm/Makefile.in: Get rid of NWINCLUDES.
* config/{alpha,powerpc}/gdbserve.mt: define NWINCLUDES.
1994-10-01 00:25:13 +00:00
Jim Kingdon
d3006726b0 * gdbserver/low-lynx.c (create_inferior): Pass all 4 args to ptrace. 1994-09-30 23:02:22 +00:00
Jim Kingdon
a5732a3067 * lynx-nat.c (child_wait): Use status.w_status, not status, in
arithmetic.  status is a `union wait'.
1994-09-30 22:53:36 +00:00
Jim Kingdon
6adffcd857 * config/nm-lynx.h (PTRACE_ARG3_TYPE): Define to int, not char *.
* lynx-nat.c (child_wait): Pass fourth argument to ptrace.
1994-09-30 13:58:58 +00:00
Jim Kingdon
e90bd60df3 * xcoffread.c (read_xcoff_symtab): Fix comment for yesterday's change. 1994-09-29 15:26:16 +00:00
Jim Kingdon
ab93997d68 * coffread.c (complete_symtab): If last_source_file is set upon
entry, free it.
1994-09-29 15:09:51 +00:00
Jim Kingdon
67b9f39403 * xcoffread.c (read_xcoff_symtab, case C_FILE):
Set main_aux before using it.
1994-09-28 18:02:00 +00:00
Jim Kingdon
331c10034a * xcoffexec.c (exec_close): If quitting, don't call clear_symtab_users. 1994-09-28 17:37:32 +00:00
Jim Kingdon
d4cedfe4ae * xcoffread.c (read_xcoff_symtab): Process XTY_LD symbols we were
ignoring before.  But continue to ignore XMC_DS.
1994-09-28 17:18:59 +00:00
Peter Schauer
78751d4fbb * defs.h (misc_command_type): Remove trailing comma from
enumerator list.
1994-09-26 10:02:43 +00:00
Jeff Law
471fb8d8c0 * hppa-tdep.c (frame_saved_pc): Fix thinko in code to dig saved pc
out of an interrupt frame.
1994-09-26 05:22:21 +00:00
Stan Shebs
ac57e5adda * infcmd.c (do_registers_info) [INVALID_FLOAT]: Only use if
defined.
	* values.c (unpack_double) [INVALID_FLOAT]: Ditto.
	* mips-tdep.c (mips_print_register): Don't test float validity.
	* config/a29k/tm-a29k.h, config/alpha/tm-alpha.h,
	config/arm/tm-arm.h, config/convex/tm-convex.h,
	config/h8300/tm-h8300.h, config/h8500/tm-h8500.h,
	config/i386/tm-i386v.h, config/i386/tm-sun386.h,
	config/i960/tm-i960.h, config/m68k/tm-m68k.h,
	config/m88k/tm-m88k.h, config/mips/tm-mips.h,
	config/ns32k/tm-merlin.h, config/ns32k/tm-nbsd.h,
	config/ns32k/tm-ns32km3.h, config/ns32k/tm-umax.h,
	config/pa/tm-hppa.h, config/pyr/tm-pyr.h,
	config/rs6000/tm-rs6000.h, config/sh/tm-sh.h,
	config/sparc/tm-sparc.h, config/z8k/tm-z8k.h (INVALID_FLOAT):
	Remove definition.
1994-09-25 21:13:24 +00:00
Stan Shebs
718bccf167 * TODO: Append contents of Projects file.
* Projects: Remove.
1994-09-25 00:47:28 +00:00
Peter Schauer
9137a6f461 * corelow.c (add_solib_stub): Remove copying of to_sections,
pass current_target to SOLIB_ADD. The Sep 10 change failed
	if SOLIB_ADD errored out, or if SOLIB_ADD was trying to access
	target memory.
	* corelow.c (core_open):  After reading the shared libraries,
	copy the modified to_sections vector from current_target to
	core_ops, so that core_close can free it later.
	* config/rs6000/nm-rs6000.h, rs6000-nat.c (xcoff_relocate_core):
	Pass down target parameter from SOLIB_ADD and use it instead of
	directly accessing core_ops.
1994-09-24 09:00:50 +00:00
J.T. Conklin
84f652b150 * solib.c: *BSD systems need <a.out.h> to be included before
<link.h>.

* i386b-nat.c: Add i386_float_info(), etc.
* config/i386/nm-nbsd.h: #define FLOAT_INFO.

* config/nm-nbsd.h: New file, for generic NetBSD native support.
* config/i386/nm-nbsd.h: Use it.
* config/sparc/nm-nbsd.h: Use it.
* config/ns32k/nm-nbsd.h: Use it.

* configure.in (i386-*-netbsd): Use config/i386/nbsd.m[ht].
  (ns32k-*-netbsd): Use config/ns32k/nbsd.m[ht].
* config/i386/{nbsd.mh,nbsd.mt,nm-nbsd.h,tm-nbsd.h,xm-nbsd.h}:
  New files, support for NetBSD/i386.
* config/ns32k/{nbsd.mh,nbsd.mh,nm-nbsd.h,tm-nbsd.h,xm-nbsd.h}:
  New files, support for NetBSD/ns32k.
1994-09-23 22:30:31 +00:00
Jim Kingdon
a36a812c48 * TODO: Reword item regarding NO_STD_REGS. 1994-09-21 03:23:01 +00:00
Jim Kingdon
940bb1dc75 * coffread.c (record_minimal_symbol, coff_read_enum_type,
coff_read_struct_type): Allocate on symbol_obstack, not directly
	via malloc/savestring.
1994-09-21 03:02:48 +00:00
Stan Shebs
40e4117a02 * TODO: Add more items.
* tests: Remove the directory and all of its (obsolete) contents.

	... config/rs6000/rs6000lynx.mh ...
        (REGEX, REGEX1, SYSV_DEFINE): No longer
	define.
1994-09-20 23:00:47 +00:00
Jim Kingdon
602d41e523 * coffread.c (init_stringtab): When copying length to stringtab,
use target format, not host format, since that is what the rest of
	the code assumes.
1994-09-20 18:39:25 +00:00
J.T. Conklin
d6a62067d9 * Makefile.in: Removed prelude.o, i386-nlmstub.o, nlmstub.o,
nlmstub.nlm, and nlmstub targets.  Removed NWSOURCE and
  NWINCLUDES definitions.
* i386-nlmstub.c: Removed.
1994-09-19 23:00:48 +00:00
Jim Kingdon
d21437b91e Mon Sep 19 07:48:36 1994 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* dbxread.c (read_dbx_dynamic_symtab): Cast bfd_asymbol_name to
	char * (from const char *) before assigning.  Don't save string we
	pass to record_minimal_symbol (it already saves it).
1994-09-19 15:00:03 +00:00
Stu Grossman
a5cffdc44a * gdbtk.tcl: Let ^U delete lines in the command window. 1994-09-18 00:07:56 +00:00
Peter Schauer
4c664b8d0a * cp-valprint.c (static_field_print): New variable, controls
printing of static members.
	(_initialize_cp_valprint):  New print set subcommand
	"static-members". Turn on printing of static members by default.
	(cp_print_value_fields):  Print static members if necessary.

	* solib.c:  Remove inclusion of libelf.h and elf/mips.h.
	(elf_locate_base):  Use only standard BFD functions to collect
	information about the .dynamic section. Check for DT_MIPS_RLD_MAP
	tag only if it got defined via the inclusion of <link.h>.

	* f-exp.y:  Write block for OP_VAR_VALUE.
	* f-valprint.c (info_common_command):  Handle `info common'
	without an argument correctly.

	* c-typeprint.c (c_type_print_base):  Handle template constructors.
	* symtab.c (gdb_mangle_name):  Handle template method mangling,
	get rid of GCC_MANGLE_BUG code, which only applied to gcc-2.2.2.
1994-09-17 11:35:51 +00:00
Per Bothner
6f52d064e4 * gdbtypes.h (TYPE_INDEX_TYPE): New macro.
* ch-typeprint.c, ch-valprint.c:  Use TYPE_INDEX_TYPE.
	* ch-valprint.c (chill_val_print):  Pass index type directly
	(instead of its TYPE_TARGET_TYPE) to print_type_scalar.
	* stabsread.c (read_type):  Don't set TYPE_FLAG_TARGET_STUB
	if the index type is a stub.
1994-09-17 00:38:23 +00:00
Stan Shebs
7f4a859c42 * config/i386/{i386aix.mh, i386bsd.mh, i386lynx.mh, i386sco.mh,
i386sco4.mh, i386sol2.mh, i386v.mh, i386v32.mh, i386v4.mh,
	ncr3000.mh, ptx.mh, ptx4.mh}, config/m68k/{altos.mh, apollo68v.mh,
	delta68.mh, dpx2.mh, hp300bsd.mh, hp300hpux.mh, m68klynx.mh,
	m68kv4.mh}, config/m88k/{delta88.mh, delta88v4.mh},
	config/mips/riscos.mh, config/pa/hppahpux.mh,
	config/sparc/{sparclynx.mh, sun4sol2.mh}, config/tahoe/tahoe.mh,
	config/vax/{vaxbsd.mh, vaxult.mh, vaxult2.mh} (REGEX, REGEX1,
	SYSV_DEFINE): No longer define.
	* config/i386/i386sco4.mh (MUNCH_DEFINE): No longer define.
1994-09-17 00:32:25 +00:00
Stu Grossman
637b166117 * defs.h (QUIT): Call interactive_hook to allow GUI to interrupt.
Also, add decl for symtab_to_filename.
	* gdbtk.c:  Replace calls to full_filename with symtab_to_filename.
	* gdbtk.tcl:  New routine pc_to_line replaces in line code.  New
	routine decr replaces in line code.
	* (create_file_win):  Use catch to handle open failures more
	elegantly.  Also, create special window to display file open
	failure message.  Move opening of file prior to creation of text
	widget.
	* (create_asm_win):  Add PC as argument.  We now base disassembly
	on PC instead of function name, since function names can be
	ambiguous (usually seen with shared libs).  Also, use catch to
	simplify code where we don't care about failures.
	* source.c (symtab_to_filename):  New.  Returns the file
	associated with a symtab.
	* top.c:  Define interactive_hook.  Called during QUIT to animate
	the GUI.
1994-09-16 22:57:37 +00:00
Per Bothner
ddf54546c9 * parser-defs.h: Add comment about unary postfix operators. 1994-09-16 07:35:27 +00:00
Per Bothner
576f97700b * stabsread.c (read_type): Handle stub types for bitstrings.
* stabsread.c (read_array_type):  Check for stub domain type
	using TYPE_FLAG_STUB, not its length.
	* gdbtypes.c (create_set_type):  Handle a stub domain type.
1994-09-16 07:29:44 +00:00
Per Bothner
bdef6b60f3 * ch-exp.y: Get rid of some extra non-terminals, and move
their rules into primitive_value.
	* ch-lang.c (chill_op_print_tab):  Add '->'.
	* expprint.c (print_subexp):  Recognize unary postfix operator.
1994-09-16 07:28:22 +00:00
Jason Molenda
791d4d7d48 Wed Sep 14 18:27:42 1994 Jason Molenda (crash@phydeaux.cygnus.com)
* remote-hms.c: use remote_debug instead of hms_silent toggle.
        Add warnings about depreciation of `snoop' cmd.
1994-09-15 01:51:58 +00:00
Steve Chamberlain
a87594a562 Wed Sep 14 18:18:58 1994 Steve Chamberlain (sac@jonny.cygnus.com)
* remote-hms.c (hms_read_inferior_memory):  Cope when
	target sends both \r and \n.
1994-09-15 01:29:07 +00:00
Stan Shebs
2b9fbee414 * remote-mips.c (mips_error): Place NORETURN macro correctly.
* TODO: Add item about START_INFERIOR_TRAPS_EXPECTED.
1994-09-15 00:22:11 +00:00
Jim Kingdon
f69ecb9c9a * xcoffread.c (read_xcoff_symtab): Fix obsolete comment about
mst_solib_trampoline.

	* f-valprint.c (f_val_print): Change cast of valaddr from
	CORE_ADDR * to char **, since that is how it is used.

	* dbxread.c (read_dbx_dynamic_symtab): Save copy of symbol names
	using obsavestring, and pass that to prim_record_minimal_symbol.
	Having the objfile point to bfd_asymbol_name directly doesn't work
	if we save and restore a mapped symbol file.
1994-09-14 22:45:49 +00:00
Stu Grossman
335129a977 * gdbtk.tcl: Add ref counts to breakpoint tags.
* Put quotes around function name in disassemble command to better
	handle assembler names containing `.'.
	* Make pclist element 0 be filler to avoid off-by-one problem with
	line numbers.
	* Set names of top-level windows.
	* Add register display window.
	* Add PC to label of assembly window.
1994-09-14 08:02:51 +00:00
Rob Savoye
c9e7a4b46f * w89k-rom.c op50-rom.c monitor.c config/pa/hppapro.mt: New files
to add a generic ROM monitor interface, and support file for the
	WinBond W89K and the Oki OP50N PA based target boards.
1994-09-14 00:26:51 +00:00
Stu Grossman
8532893d17 * gdbtk.c (gdbtk_flush gdbtk_fputs): Buffer up output to make
disassembly more efficient.
	* (breakpoint_notify):  Include pc in gdbtk_tcl_breakpoint
	callback.
	* (gdb_loc):  Include pc in return value.  Also, return function
	name if arg was specified.
	* (gdb_cmd_stub):  Call gdb_flush to drain internal GDB buffers
	after command completes.
	* (gdbtk_init):  Improve error handling.

	* gdbtk.tcl:  Add lots of comments.  Clean up code.
	* (gdbtk_tcl_fputs):  Make output window redirectable.
	* Add assembly window, and breapoint support.
	* Make button 1 in margin toggle breakpoints.
	* Use stippling to indicate breakpoint disabling.
1994-09-13 16:24:01 +00:00