* config/tm-sunos.h (IN_SOLIB_TRAMPOLINE, SKIP_TRAMPOLINE_CODE):

Define to handle stepping into  -g compiled shared libraries.
	* config/tm-sysv4.h (SKIP_TRAMPOLINE_CODE):  Define to handle
	stepping into  -g compiled shared libraries.
This commit is contained in:
Peter Schauer 1994-04-08 00:36:08 +00:00
parent 2fe3b329f6
commit a9617bd573
2 changed files with 20 additions and 3 deletions

View File

@ -1,6 +1,6 @@
/* Target machine sub-description for SunOS version 4.
This is included by other tm-*.h files to specify SunOS-specific stuff.
Copyright 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
Copyright 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
This file is part of GDB.
@ -19,3 +19,12 @@ along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "solib.h" /* Support for shared libraries. */
/* Return non-zero if we are in a shared library trampoline code stub. */
#define IN_SOLIB_TRAMPOLINE(pc, name) lookup_solib_trampoline_symbol_by_pc (pc)
/* If PC is in a shared library trampoline code, return the PC
where the function itself actually starts. If not, return 0. */
#define SKIP_TRAMPOLINE_CODE(pc) find_solib_trampoline_target (pc)

View File

@ -1,5 +1,5 @@
/* Macro definitions for GDB on all SVR4 target systems.
Copyright 1991, 1992, 1993 Free Software Foundation, Inc.
Copyright 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
Written by Fred Fish at Cygnus Support (fnf@cygnus.com).
This file is part of GDB.
@ -21,11 +21,19 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* For SVR4 shared libraries, each call to a library routine goes through
a small piece of trampoline code in the ".plt" section.
The horribly ugly wait_for_inferior() routine uses this macro to detect
when we have stepped into one of these fragments. */
when we have stepped into one of these fragments.
We do not use lookup_solib_trampoline_symbol_by_pc, because
we cannot always find the shared library trampoline symbols
(e.g. on Irix5). */
#define IN_SOLIB_TRAMPOLINE(pc, name) in_plt_section((pc), (name))
extern int in_plt_section PARAMS ((CORE_ADDR, char *));
/* If PC is in a shared library trampoline code, return the PC
where the function itself actually starts. If not, return 0. */
#define SKIP_TRAMPOLINE_CODE(pc) find_solib_trampoline_target (pc)
/* It is unknown which, if any, SVR4 assemblers do not accept dollar signs
in identifiers. The default in G++ is to use dots instead, for all SVR4
systems, so we make that our default also. FIXME: There should be some