* glibc-tdep.h (struct gdbarch): Declare opaque.

(glibc_skip_solib_resolver): Adjust prototype.
* glibc-tdep.c (glibc_skip_solib_resolver): Adjust.
* arm-linux-tdep.c (arm_linux_skip_solib_resolver): Remove.
(arm_linux_init_abi): Set skip_solib_resolver.
* i386-linux-tdep.c (i386_linux_skip_solib_resolver): Remove.
(i386_linux_init_abi): Set skip_solib_resolver.
* config/arm/tm-linux.h (SKIP_SOLIB_RESOLVER): Remove.
(arm_linux_skip_solib_resolver): Remove prototype.
* config/i386/tm-linux.h (SKIP_SOLIB_RESOLVER): Remove.
(i386_linux_skip_solib_resolver): Remove prototype.
This commit is contained in:
Mark Kettenis 2003-11-15 14:02:58 +00:00
parent 9eda08897d
commit bb41a796b6
7 changed files with 21 additions and 32 deletions

View File

@ -1,3 +1,17 @@
2003-11-15 Mark Kettenis <kettenis@gnu.org>
* glibc-tdep.h (struct gdbarch): Declare opaque.
(glibc_skip_solib_resolver): Adjust prototype.
* glibc-tdep.c (glibc_skip_solib_resolver): Adjust.
* arm-linux-tdep.c (arm_linux_skip_solib_resolver): Remove.
(arm_linux_init_abi): Set skip_solib_resolver.
* i386-linux-tdep.c (i386_linux_skip_solib_resolver): Remove.
(i386_linux_init_abi): Set skip_solib_resolver.
* config/arm/tm-linux.h (SKIP_SOLIB_RESOLVER): Remove.
(arm_linux_skip_solib_resolver): Remove prototype.
* config/i386/tm-linux.h (SKIP_SOLIB_RESOLVER): Remove.
(i386_linux_skip_solib_resolver): Remove prototype.
2003-11-14 Mark Kettenis <kettenis@gnu.org>
* gdbarch.sh (skip_solib_resolver): Change into a multi-arch

View File

@ -387,12 +387,6 @@ arm_linux_svr4_fetch_link_map_offsets (void)
return lmp;
}
CORE_ADDR
arm_linux_skip_solib_resolver (CORE_ADDR pc)
{
return glibc_skip_solib_resolver (pc);
}
/* The constants below were determined by examining the following files
in the linux kernel sources:
@ -506,6 +500,7 @@ arm_linux_init_abi (struct gdbarch_info info,
/* Shared library handling. */
set_gdbarch_in_solib_call_trampoline (gdbarch, in_plt_section);
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
}
void

View File

@ -39,14 +39,6 @@
/* We've multi-arched this. */
#undef SKIP_TRAMPOLINE_CODE
/* When we call a function in a shared library, and the PLT sends us
into the dynamic linker to find the function's real address, we
need to skip over the dynamic linker call. This function decides
when to skip, and where to skip to. See the comments for
SKIP_SOLIB_RESOLVER at the top of infrun.c. */
extern CORE_ADDR arm_linux_skip_solib_resolver (CORE_ADDR pc);
#define SKIP_SOLIB_RESOLVER arm_linux_skip_solib_resolver
/* When we call a function in a shared library, and the PLT sends us
into the dynamic linker to find the function's real address, we
need to skip over the dynamic linker call. This function decides

View File

@ -29,14 +29,6 @@
/* The following works around a problem with /usr/include/sys/procfs.h */
#define sys_quotactl 1
/* When we call a function in a shared library, and the PLT sends us
into the dynamic linker to find the function's real address, we
need to skip over the dynamic linker call. This function decides
when to skip, and where to skip to. See the comments for
SKIP_SOLIB_RESOLVER at the top of infrun.c. */
#define SKIP_SOLIB_RESOLVER i386_linux_skip_solib_resolver
extern CORE_ADDR i386_linux_skip_solib_resolver (CORE_ADDR pc);
/* N_FUN symbols in shared libaries have 0 for their values and need
to be relocated. */
#define SOFUN_ADDRESS_MAYBE_MISSING

View File

@ -66,7 +66,7 @@ find_minsym_and_objfile (char *name, struct objfile **objfile_p)
trigger when the dynamic linker is done. */
CORE_ADDR
glibc_skip_solib_resolver (CORE_ADDR pc)
glibc_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
{
/* The GNU dynamic linker is part of the GNU C library, and is used
by all GNU systems (GNU/Hurd, GNU/Linux). An unresolved PLT

View File

@ -22,6 +22,9 @@
#ifndef GLIBC_TDEP_H
#define GLIBC_TDEP_H
extern CORE_ADDR glibc_skip_solib_resolver (CORE_ADDR);
struct gdbarch;
extern CORE_ADDR glibc_skip_solib_resolver (struct gdbarch *gdbarch,
CORE_ADDR);
#endif /* glibc-tdep.h */

View File

@ -306,14 +306,6 @@ i386_linux_write_pc (CORE_ADDR pc, ptid_t ptid)
write_register_pid (I386_LINUX_ORIG_EAX_REGNUM, -1, ptid);
}
/* Calling functions in shared libraries. */
CORE_ADDR
i386_linux_skip_solib_resolver (CORE_ADDR pc)
{
return glibc_skip_solib_resolver (pc);
}
/* Fetch (and possibly build) an appropriate link_map_offsets
structure for native GNU/Linux x86 targets using the struct offsets
defined in link.h (but without actual reference to that file).
@ -453,6 +445,7 @@ i386_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
to support backtracing through calls to signal handlers. */
set_gdbarch_pc_in_sigtramp (gdbarch, i386_linux_pc_in_sigtramp);
set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
set_solib_svr4_fetch_link_map_offsets (gdbarch,
i386_linux_svr4_fetch_link_map_offsets);
}