mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-23 09:13:28 +08:00
b5c10493e9
frame. Use find_return_regnum to find the caller. * (find_unwind_entry): New routine to locate stack frame info associated with a procedure. This looks in the $UNWIND_START$ section in the SOM file. * (find_return_regnum): New routine. Uses find_unwind_entry() to figure out where the caller's return address is stored. * (find_proc_framesize): New routine. Uses find_unwind_entry() to figure out the frame size for a procedure. * (saved_pc_after_call): New routine, moved from tm-hppa.h. * (init_extra_frame_info): New routine. Corrects PC and FP for outermost frame if necessary. * (frame_chain): New routine, moved from tm-hppa.h. * (skip_trampoline_code): Handle computed function calls (ie: calls from $$dyncall). * (unwind_command): Temporary support function to allow user to control/observe aspects of the unwind (stack frame) info. * infcmd.c (read_pc): (Temporary), put a hack in to see if the PC was in a system call, if so, then read the PC from r31. * tm-hppah.h (SKIP_TRAMPOLINE_CODE, IN_SOLIB_TRAMPOLINE): Deal with extra arg for skip_trampoline_code(). * (INIT_EXTRA_FRAME_INFO): Define to point at subr (see above). * (FRAME_CHAIN, FRAME_CHAIN_VALID): Turn into real subroutines. * tm-hppa.h (SAVED_PC_AFTER_CALL): Turn into real subroutine.
42 lines
1.6 KiB
C
42 lines
1.6 KiB
C
/* Parameters for execution on an HP PA-RISC machine, running HPUX, for GDB.
|
|
Copyright 1991, 1992 Free Software Foundation, Inc.
|
|
|
|
Contributed by the Center for Software Science at the
|
|
University of Utah (pa-gdb-bugs@cs.utah.edu).
|
|
|
|
This file is part of GDB.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
|
|
|
/* Mostly it's common to all HPPA's. */
|
|
#include "tm-hppa.h"
|
|
|
|
/* Saved PC's are different, since there is millicode. */
|
|
extern CORE_ADDR millicode_start, millicode_end;
|
|
|
|
/* Immediately after a function call, return the saved pc.
|
|
Can't go through the frames for this because on some machines
|
|
the new frame is not set up until the new function executes
|
|
some instructions. */
|
|
|
|
#undef SAVED_PC_AFTER_CALL
|
|
#define SAVED_PC_AFTER_CALL(frame) saved_pc_after_call (frame)
|
|
|
|
/* We need to figure out where the text region is so that we use the
|
|
appropriate ptrace operator to manipulate text. Simply reading/writing
|
|
user space will crap out HPUX. */
|
|
|
|
#define NEED_TEXT_START_END
|