Commit graph

80 commits

Author SHA1 Message Date
Stan Shebs
18b46e7c53 General cleanup and simplication of disassembler interface.
* a29k-pinsn.c, arm-pinsn.c, convex-pinsn.c, gould-pinsn.c,
        hppa-pinsn.c, i386-pinsn.c, i960-pinsn.c, m68k-pinsn.c,
        m88k-pinsn.c, mips-pinsn.c, ns32k-pinsn.c, pyr-pinsn.c,
        rs6000-pinsn.c, sparc-pinsn.c, tahoe-pinsn.c, vax-pinsn.c: Remove.
	* gould-tdep.c, ns32k-tdep.c, tahoe-tdep.c, vax-tdep.c: New files,
	had been -pinsn.c files.
	* Makefile.in (ALLDEPFILES): Remove removed files.
	(a29k-pinsn.o, arm-pinsn.o, convex-pinsn.o, gould-pinsn.o,
        hppa-pinsn.o, i386-pinsn.o, i960-pinsn.o, m68k-pinsn.o,
        m88k-pinsn.o, mips-pinsn.o, ns32k-pinsn.o, pyr-pinsn.o,
        rs6000-pinsn.o, sparc-pinsn.o, tahoe-pinsn.o, vax-pinsn.o):
        Remove compile actions.
	* arm-tdep.o, gould-tdep.o, ns32k-tdep.o, tahoe-tdep.o,
	vax-tdep.o: Add compile actions.
	* defs.h (tm_print_insn): New global.
	* a29k-tdep.c (gdb_print_insn_a29k): New function.
	(_initialize_a29k_tdep): Rename from _initialize_29k,
	set tm_print_insn.
	* alpha-tdep.c (print_insn): Remove.
	(_initialize_alpha_tdep): Set tm_print_insn.
	* arm-tdep.c (arm_print_insn): New function, was print_insn
	in arm-pinsn.c.
	* convex-tdep.c (convex_print_insn): New function, was print_insn
	in convex-pinsn.c.
	* h8300-tdep.c (print_insn): Remove.
	(gdb_print_insn_h8300): New function.
	(_initialize_h8300_tdep): New function.
	* h8500-tdep.c (print_insn): Remove.
	(_initialize_h8500_tdep): New function.
	* hppa-tdep.c (_initialize_hppa_tdep): Set tm_print_insn.
	* i386-tdep.c (_initialize_i386_tdep): New function.
	* i960-tdep.c (mem, next_insn): New functions, were in
	i960-pinsn.c.
	(_initialize_i960_tdep): Set tm_print_insn.
	* m68k-tdep.c (_initialize_m68k_tdep): New function.
	* m88k-tdep.c (_initialize_m88k_tdep): New function.
	* mips-tdep.c (gdb_print_insn_mips): New function.
	(_initialize_mips_tdep): Set tm_print_insn.
	* pyr-tdep.c (pyr_print_insn): New function, was print_insn
	in pyr-pinsn.c.
	* rs6000-tdep.c (_initialize_rs6000_tdep): New function.
	* sh-tdep.c (print_insn): Remove.
	(gdb_print_insn_sh): New function.
	(_initialize_sh_tdep): Set tm_print_insn.
	* sparc-tdep.c (_initialize_sparc_tdep): New function.
	* w65-tdep.c (print_insn): Remove.
	(_initialize_w65_tdep): New function.
	* z8k-tdep.c (print_insn): Remove.
	(gdb_print_insn_z8k): New function.
	(_initialize_z8k_tdep): Set tm_print_insn.
	* printcmd.c (print_insn): New function, generic disassembler.
	* config/*/*.mt (TDEPFILES): Remove refs to *-pinsn.o.

	* defs.h (query_hook, error_hook): Fix prototypes.
1995-01-17 04:36:51 +00:00
Rob Savoye
15edf5253b * hppa-tdep.c (pa_print_registers): Extract register values stored
in big endian format on big and little endian hosts.
1994-12-30 01:47:27 +00:00
Jeff Law
3200aa595b * hppa-tdep.c (hppa_fix_call_dummy): Prefer import stubs over
export stubs and actual shared library functions so that lazy
	binding works correctly.  Try both __d_plt_call and __gcc_plt_call
	trampolines for calling import stubs.
1994-12-29 02:31:10 +00:00
Jeff Law
244f7460fb * hppa-tdep.c (push_dummy_frame): Refine code to determine what
space ID to place in the stack & inf_status structure.
	(hppa_pop_frame): Don't walk through trampoline code if popping a
	call dummy frame.
	(hppa_fix_call_dummy): Call the stack dummy directly if the
	current PC is in a shared library.
1994-12-28 21:55:21 +00:00
Jeff Law
e43169eb57 * hppa-tdep.c (push_dummy_frame): Return type is void. Clear
in_syscall bit in flags.  Don't depend on the PC queue registers
	when in_syscall is set, they're not valid.
	* config/pa/tm-hppa.h (PUSH_DUMMY_FRAME): Pass inf_status down to
	push_dummy_frame.
	(SR4_REGNUM): Define.

	* hppa-tdep.c: Misc. lint changes.
1994-12-28 19:33:08 +00:00
Rob Savoye
bd2b724a0c * hppa-tdep.c: Use GDB_TARGET_IS_PA_ELF so SOM target support will
stop being linked in.
	* config/pa/tm-hppap.h: New file. Set GDB_TARGET_IS_PA_ELF,
	otherwise it looks like BSD-ELF.
1994-12-07 21:26:22 +00:00
Jeff Law
b1bbe38b3d * somsolib.c (som_solib_get_got_by_pc): New function.
* somsolib.h (som_solib_get_got_by_pc): Add extern decl.
	* hppa-tdep.c (hppa_fix_call_dummy): Handle case where FUN is the
	function's export stub or real address in a shared library.
1994-12-01 05:34:30 +00:00
Jeff Law
54576db325 * tm-hppa.h (skip_trampoline_code): Add extern decl.
* hppa-tdep.c (hppa_pop_frame): Silently restart the inferior and
	allow it to execute any return path trampoline code.  Stop the
	inferior and give the user control when the trampoline has
	finished executing.
	(in_solib_call_trampoline): Handle export stubs which also perform
	parameter relocations.
	(in_solib_return_trampoline): Likewise.
1994-11-26 04:39:07 +00:00
Jeff Law
a76c22401c * hppa-tdep.c (in_solib_call_trampoline): Recognize calls through
_sr4export and $$dyncall as trampolines.  Likewise for long-call
	stubs and parameter relocation stubs.
	(in_solib_return_trampoline): Recognize a return trampoline for
	return value relocation stubs.
1994-11-25 09:21:49 +00:00
Jeff Law
2848f79344 * hpread.c: Include hp-symtab.h instead of hpux-symtab.h.
Various name changes to match those used by hp-symtab.h.

No longer sanitize away hpread changes.  Merge ChangeLog.hpread into
ChangeLog and ChangeLog-93.
1994-11-25 08:06:49 +00:00
Jeff Law
481faa25ac * blockframe.c (find_pc_partial_function): Inhibit mst_trampoline
symbol special handling when INHIBIT_SUNSOLIB_TRANSFER_TABLE_HACK
	is defined.
	* infrun.c (IN_SOLIB_CALL_TRAMPOLINE): Renamed from
	IN_SOLIB_TRAMPOLINE.  All callers changed.
	(IN_SOLIB_RETURN_TRAMPOLINE): Provide default definition.
	(wait_for_inferior): Handle single stepping through trampolines on
	return paths from shared libraries.
	* config/pa/tm-hppa.h (IN_SOLIB_CALL_TRAMPOLINE): Use
	in_solib_call_trampoline.
	(IN_SOLIB_RETURN_TRAMPOLINE): Use in_solib_return_trampoline.
	(INHIBIT_SUNSOLIB_TRANSFER_TABLE_HACK): Define.
	* hppa-tdep.c (in_solib_call_trampoline): New function.
	(in_solib_return_trampoline): New function.
1994-11-24 08:02:01 +00:00
Rob Savoye
0eac27b928 * hppa-tdep.c: Remove including sys/dir.h from a target file. 1994-11-16 23:31:41 +00:00
Jeff Law
f32fc5f979 * hppa-tdep.c (skip_trampoline_code): Handle shared library import
trampolines.
1994-11-16 07:21:06 +00:00
Jeff Law
c2e00af68e * hppa-tdep.c (rp_saved): Handle IMPORT stubs too.
* somsolib.c (som_solib_add): Check the value of __dld_flags, if
	it indicates __dld_list is not valid return an error.  If it
	indicates that libraries were not mapped privately, issue a
	warning.
1994-11-11 17:55:38 +00:00
Jeff Law
73a250722a * hppa-tdep.c (read_unwind_info): Use "text_offset" for linker
stub unwind descriptors too.
1994-11-08 06:06:35 +00:00
Jeff Law
bfaef242b5 * Enable backtracing from inside a SOM shared library back into
user code.
	* hppa-tdep.c (internalize_unwinds): Accept and use new
	"text_offset" argument for dynamic relocation of
	region_{start,end} fields in the unwind descriptor.
	(read_unwind_info): Pass text_offset to internalize unwinds.
1994-11-08 05:31:33 +00:00
Jeff Law
54b2555b0c * hppa-tdep.c (frame_saved_pc): Mask off low two bits when
retrieving the PC from a signal handler caller.  Fix thinko
	in Stan's last change ("frame", should have been "frame->next").
	If the next frame is a signal handler caller and it's a system
	call which has entered the kernel ((PSW & 0x2) != 0), then the
	saved pc is in %r2 instead of %r31.
1994-11-06 20:02:31 +00:00
Jeff Law
cb5f71282d * hppa-tdep.c (hppa_frame_find_saved_regs): Change "frame" to
"frame_info" throughout.
1994-11-05 06:56:43 +00:00
Stan Shebs
669caa9c19 Replace useless FRAME, FRAME_ADDR types with struct frame_info *
and CORE_ADDR, respectively.
	* frame.h (FRAME, FRAME_INFO_ID, FRAME_ADDR): Remove.
	* blockframe.c (get_frame_info): Remove.
	* a29k-tdep.c, alpha-tdep.c, blockframe.c, breakpoint.c,
	breakpoint.h, energize.c, findvar.c, gdbtk.c, gould-pinsn.c,
	h8300-tdep.c, h8500-tdep.c, hppa-tdep.c, i386-tdep.c, i960-tdep.c,
	infcmd.c, inferior.h, infrun.c, m68k-tdep.c, m88k-tdep.c,
	mips-tdep.c, nindy-tdep.c, printcmd.c, pyr-tdep.c, rs6000-tdep.c,
	sh-tdep.c, sparc-tdep.c, stack.c, valops.c, z8k-tdep.c,
	config/a29k/tm-a29k.h, config/alpha/tm-alpha.h,
	config/gould/tm-pn.h, config/h8300/tm-h8300.h,
	config/h8500/tm-h8500.h, config/mips/tm-mips.h,
	config/ns32k/tm-merlin.h, config/ns32k/tm-umax.h,
	config/pyr/tm-pyr.h, config/sparc/tm-sparc.h): Replace FRAME with
	struct frame_info * everywhere, replace FRAME_ADDR with CORE_ADDR,
	rename variables consistently (using `frame' or `fi'), remove
	calls to get_frame_info and FRAME_INFO_ID, remove comments about
	FRAME and FRAME_ADDR cruftiness.
1994-11-04 01:19:29 +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
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
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
Jeff Law
98c0e047bd * Makefile.in (ALLDEPFILES): Add hpread.c.
(hpread.o): Add dependencies.

        * somread.c: Do not include "aout/aout64.h".  SOM has nothing to
        do with a.out.
        (BYTES_IN_WORD): Delete.
        (som_symfile_read): Call hpread_build_psymtabs to build any
        minimal symbols based on the HP C native debug symbols.
        (som_symfile_finish): Call hpread_symfile_finish.
        (som_symfile_init): Call hpread_symfile_init.
        * config/pa/tm-hppa.h (HPREAD_ADJUST_STACK_ADDRESS): Define.
        * hppa-tdep.c (hpread_adjust_stack_address): New function.

        * config/pa/hppabsd.mh (NATDEPFILES): Add hpread.o
        * config/pa/hppahpux.mh (NATDEPFILES): Likewise.
        * hpread.c: New file.
1994-08-19 16:48:51 +00:00
Jeff Law
4cbc4bf151 * hppa-tdep.c (skip_trampoline_code): Revert incorrect change
from June 2, 1994 (what was I thinking?!?).  Fix it right this
	time.
1994-08-19 06:57:06 +00:00
Jeff Law
f81eee9deb * hppa-tdep.c (compare_unwind_entries): Add "const" to both
argument types to shut up GCC.
1994-08-01 08:46:51 +00:00
Jeff Law
edd86fb0da * hppa-tdep.c (saved_pc_after_call): If the saved PC is in a
linker stub, then return the address the stub will return to.
	(frame_saved_pc): Correctly restart the search for the saved
	pc when a linker stub is encountered.

	* hppa-tdep.c (inst_saves_gr): Handle 16 and 8 bit instruction
	register stores emitted by the version 9 HP compilers.
	(inst_saves_fr): Relax test for a specific base register (%r1);
	this avoids losing with the version 9 HP compilers.
	(skip_prologue): Try to skip argument stores emitted by the HP
	compilers.  It's not perfect, but it's better than before.
1994-08-01 07:49:59 +00:00
Stu Grossman
cad1498f8a * Makefile.in: Add stuff to build nlmstub.
* Add rule for annotate.o to keep Sun make happy.
	* configure.in:  Add config for powerpc/Netware.

	* partial-stab.h (near N_SO):  Don't call START_PSYMTAB with null
	filename.  This speeds up handling of trailing N_SO stabs (they
	mark the end of a .o file).

	* target.c, target.h:  Change the way pushing and popping of
	targets work to support target overlays and inheritance.
	* corelow.c, hppa-tdep.c, inflow.c, remote-nindy.c, utils.c:
	Fixup references to current_target, due to previous changes.

	* config/i386/tm-i386nw.h:  Enable longjmp support.  More work is
	needed to get the address of longjmp out of the target.
1994-07-23 00:53:28 +00:00
Jeff Law
0fc2728985 * hppa-tdep.c (read_unwind_info): ELF unwind information is in the
.PARISC.unwind section now.
1994-07-05 01:32:46 +00:00
Jeff Law
e9a3cde889 * hppa-tdep.c (target_read_pc, target_write_pc): Accept (and
ignore) a PID argument.
	(hppa_pop_frame): Pass a PID to target_write_pc.
	* config/pa/tm-hppa.h (TARGET_READ_PC, TARGET_WRITE_PC): Accept
	and pass through a PID argument.
	(target_read_pc, target_write_pc): Update prototypes.
1994-06-10 16:43:52 +00:00
Jeff Law
36af5ec640 * hppa-tdep.c (skip_trampoline_code): Fix typo. 1994-06-03 05:21:30 +00:00
Jeff Law
f55179cbcd * hppa-tdep.c (read_unwind_info): Make sure elf_unwind_size and
elf_unwind_entries are always initialized.
1994-05-12 18:02:27 +00:00
Jeff Law
88b91d4a1b * hppa-tdep.c (skip_trampoline_code): Handle argument relocation
stubs which return directly to the caller rather than to the stub
        itself.
1994-05-12 16:50:43 +00:00
Jeff Law
d782a99583 * hppa-tdep.c (internalize_unwind_info): Delete unused indexp
argument.
1994-04-19 16:47:30 +00:00
Jeff Law
9c842e0c31 * nm-hppab.h (KERNEL_U_ADDR): Define.
(FIVE_ARG_PTRACE): Likewise.
        (CANNOT_STORE_REGISTER): Likewise.
        nm-hppah.h (KERNEL_U_ADDR): Define.
        (FIVE_ARG_PTRACE): Likewise.
        (CANNOT_STORE_REGISTER): Likewise.
        (NEED_TEXT_START_END): Likewise.

        * tm-hppah.h (NEED_TEXT_START_END): Delete definition.
        * xm-hppah.h (KERNEL_U_ADDR): Delete definition.
        (FIVE_ARG_PTRACE): Likewise.
        * xm-hppab.h (KERNEL_U_ADDR): Delete definition.
        (FIVE_ARG_PTRACE): Likewise.

        * hppa-tdep.c (read_unwind_info): Make static.
        (restore_pc_queue): Indirect through the target vector to
        reload the register state.
1994-04-18 17:16:56 +00:00
Jeff Law
c5152d4234 * paread.c (compare_unwind_entries): Delete function. It's been
moved into hppa-tdep.c.
        (read_unwind_info): Likewise.
        (pa_symfile_read): No longer call read_unwind_info.  The unwind
        tables will be read in as they are needed.

        * hppa-tdep.c (compare_unwind_entries): New function.
        (read_unwind_info, internalize_unwinds): Likewise.
        (find_unwind_entry): Read in unwind information on demand.
1994-04-17 05:22:39 +00:00
Jeff Law
4f91591410 * hppa-tdep.c (hppa_fix_call_dummy): If FUN is a procedure label,
then gets its real address into FUN and its GOT/DP value into %r19.

        * tm-hppa.h (CALL_DUMMY): Use %r20, not %r19 as a temporary.
1994-04-06 00:56:36 +00:00
Jeff Law
7f43b9b70d * hppa-tdep.c (frameless_function_invocation): If no unwind
descriptor was found, then assume this was not a frameless
        function invocation.
        (frame_saved_pc): If the saved PC is in a linker stub, then
        return the return address which the linker stub will return to.
1994-04-06 00:51:50 +00:00
Jeff Law
19cd0c1f75 * hppa-tdep.c (hppa_fix_call_dummy): Use an alternate method for
calling import stubs for functions in shared libraries.
1994-03-30 07:03:01 +00:00
Jeff Law
de48213858 * hppa-tdep.c (skip_prologue): Do nothing if not at the beginning
of a function.
        (skip_trampoline_code): Rewrite and add support for argument
        relocation stubs stubs, import/export stubs, calls through
        "_sr4export" and cascaded trampolines.
1994-03-26 01:07:36 +00:00
Jeff Law
fdafbfad9e * hppa-tdep.c (skip_prologue): Return "pc" not zero
if no unwind descriptor is found.
1994-03-25 18:48:24 +00:00
Jeff Law
eb1167c65c * tm-hppa.h (NUM_REGS): Bump to 128 registers.
(REGISTER_NAMES): Add entries for "right-half" of FP registers.
        (REGISTER_RAW_SIZE, MAX_REGISTER_RAW_SIZE): Do not treat FP regs
        differently.  All registers are four bytes.
        (REGISTER_BYTES, REGISTER_BYTE): Simplify now that all registers are
        the same size.
        (REGISTER_VIRTUAL_TYPE): Use builtin_type_float for all FP regs.

        * hppa-tdep.c (pa_print_fp_reg): Update to print even numbered FP
        registers as both single and double values (fetching 2nd 32bit half
        as necessary).  Annotate each register printed with its precision.
1994-03-25 18:21:49 +00:00
Jeff Law
0a64709eb4 * config/pa/tm-hppao.h (NO_PC_SPACE_QUEUE_RESTORE): Define.
* hppa-tdep.c (hppa_pop_frame): Do not restore the PC space
        queue if NO_PC_SPACE_QUEUE_RESTORE is defined.
1994-03-23 04:16:32 +00:00
Jeff Law
4fd5eed484 * hppa-tdep.c (hppa_fix_call_dummy): Use value_ptr.
(hppa_push_arguments): Likewise.
1994-03-21 19:53:36 +00:00
Jeff Law
70e43abe7c * hppa-tdep.c (pc_in_linker_stub): Move decl to beginning of file.
(pc_in_interrupt_handler): New function.  Also add PARAM decl.
        (find_proc_framesize): Deal with HPUX setting SAVE_SP bit for
        signal trampoline and interrupt routines.
        (frame_saved_pc): Handle signal trampolines and interrupt routines.
        (frame_chain, frame_chain_valid): Likewise.
        (hppa_frame_find_saved_regs): Likewise.  Also deal with special
        saved regs convention for SP.

        * tm-hppa[bho].h: FRAME_FIND_SAVED_PC_IN_SIGTRAMP): Define.
        (FRAME_BASE_BEFORE_SIGTRAMP): Define.
        (FRAME_FIND_SAVED_REGS_IN_SIGTRAMP): Define.

        * tm-hppah.h (IN_SIGTRAMP): Define.
1994-03-04 17:54:41 +00:00
Jeff Law
c7f3b703a3 * config/pa/tm-hppa.h (unwind_table_entry): Use one of the
reserved fields to hold a stub unwind entry type.  Fix typo.
        (stub_unwind_entry): New structure for raw stub unwind entries.
        (stub_unwind_types): The types of stubs we may encounter.
        (UNWIND_ENTRY_SIZE, STUB_UNWIND_ENTRY_SIZE): New defines.
        * hppa-tdep.c (rp_saved): Use additional information provided
        by linker stub unwind descriptors.
        (frameless_function_invocation): Likewise.
        (frame_chain_valid): Likewise.
        * paread.c (compare_unwind_entries): New function for sorting
        unwind table entries.
        (read_unwind_info): Rewrite to remove dependency on host endianness.
        Read in data from the $UNWIND_END$ subspace which contains linker
        stub unwind descriptors.  Merge that data into the basic unwind
        table.
1994-01-18 04:04:36 +00:00
Jeff Law
c598654a5b * config/pa/tm-hppa.h (FRAME_FIND_SAVED_REGS): Call
hppa_frame_find_saved_regs.
        * hppa-tdep.c (dig_fp_from_stack): Delete function.
        (prologue_inst_adjust_sp): New function.
        (is_branch, inst_saves_gr, inst_saves_fr): New functions.
        (skip_prologue): Completely rewrite to use unwind information.
        (hppa_frame_find_saved_regs): Likewise.
1994-01-11 19:14:11 +00:00
Jim Kingdon
67ac975911 * target.h: Add enum target_waitkind, enum target_signal, and
struct target_waitstatus.  Change status argument to target_wait to
	be struct target_waitstatus * instead of int *.
	* target.h, infrun.c, all targets: Change type of signal arguments
	to resume(), proceed(), and target_resume() from int to enum
	target_signal.
	* All targets (*_wait, *_resume): Change accordingly.
	* infcmd.c (program_info, signal_command), throughout infrun.c,
	* fork-child.c, solib.c, hppa-tdep.c, osfsolib.c: Use this stuff.
	* convex-xdep.c, convex-tdep.c: Add FIXME's (getting the Convex
	signal code stuff right with the new signals would be non-trivial).
	* inferior.h (stop_signal): Make it enum target_signal not int.
	* target.c, target.h (target_signal_to_string, target_signal_to_name,
	target_signal_from_name): New functions.
	* inftarg.c, target.h (target_signal_to_host, target_signal_from_host,
	store_waitstatus): New functions.
	* procfs.c (procfs_notice_signals): Use them.
	* i960-tdep.c (i960_fault_to_signal): New function, to replace
	print_fault.
	* config/i960/tm-i960.h: Don't define PRINT_RANDOM_SIGNAL.
1994-01-04 21:53:53 +00:00
Jeff Law
2f8c3639fa * dbxread.c (process_one_symbol): Handle stabs-in-som just like
stabs-in-elf.
        (pastab_build_psymtabs): Likewise.

        * hppa-tdep.c: Change all comments to reference %r3 or frame pointer
        rather than %r4.
        (frame_chain, skip_prologue, dig_rp_from_stack): Handle %r3 as the
        frame pointer.

        * config/pa/tm-hppa.h (FP_REGNUM): Define as %r3.
        (FIND_FRAME_SAVED_REGS): Handle %r3 as frame pointer.
        (CALL_DUMMY): Likewise.
1993-12-27 04:46:05 +00:00
Jim Kingdon
f4f0d17487 * valops.c (call_function_by_hand, push_word), defs.h (push_word),
convex-xdep.c, m88k-nat.c, i386m3-nat.c, mips-tdep.c, mipsm3-nat.c,
	ns32km3-nat.c, remote-bug.c, m88k-tdep.c, remote-hms.c, remote-mips.c,
	config/gould/tm-np1.h, hppa-tdep.c (hppa_fix_call_dummy), remote-vx.c:
	Use REGISTER_SIZE, unsigned LONGEST, and
	{store,extract}_unsigned_integer, instead of sizeof
	(REGISTER_TYPE) and REGISTER_TYPE.
	* All tm.h files: Change REGISTER_TYPE to REGISTER_SIZE.
	* hppa-tdep.c (pa_print_fp_reg): Remove unused variable val.

	* Makefile.in (ALLDEPFILES): Remove i386ly-nat.c and m68kly-nat.c.
	Add lynx-nat.c.
1993-12-26 18:10:22 +00:00
Jeff Law
192c3eeb94 * hppa-tdep.c (init_extra_frame_info): Correctly adjust the base
of the current frame when "fromleaf" is true.  Do not adjust the
        frame base of the innermost frame if it is a leaf function.
1993-12-26 04:06:32 +00:00