* objfiles.h (pc_in_section): New prototype.
authorMaciej W. Rozycki <macro@linux-mips.org>
Mon, 24 Jun 2013 22:18:32 +0000 (22:18 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Mon, 24 Jun 2013 22:18:32 +0000 (22:18 +0000)
(in_plt_section): Remove name argument, replace prototype with
static inline function.
* mips-tdep.h: Include "objfiles.h".
(in_mips_stubs_section): New function.
* hppa-tdep.h (gdbarch_tdep): Remove name argument of
in_solib_call_trampoline member.
(hppa_in_solib_call_trampoline): Remove name argument.
* objfiles.c (pc_in_section): New function.
(in_plt_section): Remove function.
* mips-linux-tdep.c: Include "objfiles.h".
(mips_linux_in_dynsym_stub): Call in_mips_stubs_section.  Remove
name argument.  Return 1 rather than the low 16-bit halfword of
any instruction examined.
(mips_linux_in_dynsym_resolve_code): Update
mips_linux_in_dynsym_stub call accordingly.
* mips-tdep.c (mips_stub_frame_sniffer): Use in_mips_stubs_section
rather than an equivalent hand-coded sequence.
* hppa-hpux-tdep.c (in_opd_section): Remove function.
(hppa32_hpux_in_solib_call_trampoline): Remove name argument.
(hppa64_hpux_in_solib_call_trampoline): Likewise.
(hppa64_hpux_find_global_pointer): Use pc_in_section rather than
in_opd_section.
* hppa-tdep.c (hppa_stub_unwind_sniffer): Remove name argument
on call to tdep->in_solib_call_trampoline.
(hppa_in_solib_call_trampoline): Remove name argument, update
according to in_plt_section change.
(hppa_skip_trampoline_code): Update according to in_plt_section
change.
* aarch64-tdep.c (aarch64_stub_unwind_sniffer): Likewise.
* arm-symbian-tdep.c (arm_symbian_skip_trampoline_code):
Likewise.
* arm-tdep.c (arm_stub_unwind_sniffer): Likewise.
* hppa-linux-tdep.c (hppa_linux_find_global_pointer): Likewise.
* hppabsd-tdep.c (hppabsd_find_global_pointer): Likewise.
* nios2-tdep.c (nios2_stub_frame_sniffer): Likewise.
* nto-tdep.c (nto_relocate_section_addresses): Likewise.
* s390-tdep.c (s390_stub_frame_sniffer): Likewise.
* sh-tdep.c (sh_stub_unwind_sniffer): Likewise.
* solib-dsbt.c (dsbt_in_dynsym_resolve_code): Likewise.
* solib-frv.c (frv_in_dynsym_resolve_code): Likewise.
* solib-svr4.c (svr4_in_dynsym_resolve_code): Likewise.
* solib-target.c (solib_target_in_dynsym_resolve_code): Likewise.
* sparc-tdep.c (sparc_analyze_prologue): Likewise.
* tic6x-tdep.c (tic6x_stub_unwind_sniffer): Likewise.

24 files changed:
gdb/ChangeLog
gdb/aarch64-tdep.c
gdb/arm-symbian-tdep.c
gdb/arm-tdep.c
gdb/hppa-hpux-tdep.c
gdb/hppa-linux-tdep.c
gdb/hppa-tdep.c
gdb/hppa-tdep.h
gdb/hppabsd-tdep.c
gdb/mips-linux-tdep.c
gdb/mips-tdep.c
gdb/mips-tdep.h
gdb/nios2-tdep.c
gdb/nto-tdep.c
gdb/objfiles.c
gdb/objfiles.h
gdb/s390-tdep.c
gdb/sh-tdep.c
gdb/solib-dsbt.c
gdb/solib-frv.c
gdb/solib-svr4.c
gdb/solib-target.c
gdb/sparc-tdep.c
gdb/tic6x-tdep.c

index adaf463a8b32c3173126fddf39be06f88ae229a6..ff023197c3ae527bf48661e4cfe40b43501dd474 100644 (file)
@@ -1,3 +1,51 @@
+2013-06-24  Maciej W. Rozycki  <macro@codesourcery.com>
+
+       * objfiles.h (pc_in_section): New prototype.
+       (in_plt_section): Remove name argument, replace prototype with
+       static inline function.
+       * mips-tdep.h: Include "objfiles.h".
+       (in_mips_stubs_section): New function.
+       * hppa-tdep.h (gdbarch_tdep): Remove name argument of
+       in_solib_call_trampoline member.
+       (hppa_in_solib_call_trampoline): Remove name argument.
+       * objfiles.c (pc_in_section): New function.
+       (in_plt_section): Remove function.
+       * mips-linux-tdep.c: Include "objfiles.h".
+       (mips_linux_in_dynsym_stub): Call in_mips_stubs_section.  Remove
+       name argument.  Return 1 rather than the low 16-bit halfword of
+       any instruction examined.
+       (mips_linux_in_dynsym_resolve_code): Update
+       mips_linux_in_dynsym_stub call accordingly.
+       * mips-tdep.c (mips_stub_frame_sniffer): Use in_mips_stubs_section
+       rather than an equivalent hand-coded sequence.
+       * hppa-hpux-tdep.c (in_opd_section): Remove function.
+       (hppa32_hpux_in_solib_call_trampoline): Remove name argument.
+       (hppa64_hpux_in_solib_call_trampoline): Likewise.
+       (hppa64_hpux_find_global_pointer): Use pc_in_section rather than
+       in_opd_section.
+       * hppa-tdep.c (hppa_stub_unwind_sniffer): Remove name argument
+       on call to tdep->in_solib_call_trampoline.
+       (hppa_in_solib_call_trampoline): Remove name argument, update
+       according to in_plt_section change.
+       (hppa_skip_trampoline_code): Update according to in_plt_section
+       change.
+       * aarch64-tdep.c (aarch64_stub_unwind_sniffer): Likewise.
+       * arm-symbian-tdep.c (arm_symbian_skip_trampoline_code):
+       Likewise.
+       * arm-tdep.c (arm_stub_unwind_sniffer): Likewise.
+       * hppa-linux-tdep.c (hppa_linux_find_global_pointer): Likewise.
+       * hppabsd-tdep.c (hppabsd_find_global_pointer): Likewise.
+       * nios2-tdep.c (nios2_stub_frame_sniffer): Likewise.
+       * nto-tdep.c (nto_relocate_section_addresses): Likewise.
+       * s390-tdep.c (s390_stub_frame_sniffer): Likewise.
+       * sh-tdep.c (sh_stub_unwind_sniffer): Likewise.
+       * solib-dsbt.c (dsbt_in_dynsym_resolve_code): Likewise.
+       * solib-frv.c (frv_in_dynsym_resolve_code): Likewise.
+       * solib-svr4.c (svr4_in_dynsym_resolve_code): Likewise.
+       * solib-target.c (solib_target_in_dynsym_resolve_code): Likewise.
+       * sparc-tdep.c (sparc_analyze_prologue): Likewise.
+       * tic6x-tdep.c (tic6x_stub_unwind_sniffer): Likewise.
+
 2013-06-24  Joel Brobecker  <brobecker@adacore.com>
 
        * common/create-version.sh: Fix expansion of $host_alias
index 2d74429295bf74b5a17240c641b518b8445457b7..ea25cf610dc3c0ee1af713a83b481a44f33430ff 100644 (file)
@@ -1094,7 +1094,7 @@ aarch64_stub_unwind_sniffer (const struct frame_unwind *self,
   gdb_byte dummy[4];
 
   addr_in_block = get_frame_address_in_block (this_frame);
-  if (in_plt_section (addr_in_block, NULL)
+  if (in_plt_section (addr_in_block)
       /* We also use the stub winder if the target memory is unreadable
         to avoid having the prologue unwinder trying to read it.  */
       || target_read_memory (get_frame_pc (this_frame), dummy, 4) != 0)
index c1ac92b47738b9c0feb6899db2973488b92a8ecb..d7d34fdb537362322c1e84c921b18eb2ec5a57d6 100644 (file)
@@ -38,7 +38,7 @@ arm_symbian_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
   CORE_ADDR dest;
   gdb_byte buf[4];
 
-  if (!in_plt_section (pc, NULL))
+  if (!in_plt_section (pc))
     return 0;
 
   if (target_read_memory (pc, buf, 4) != 0)
index b169e3578adb2de6159c2e1413ad878e332e3d88..7c78a617f3e8ccede3452dd78769e142676cc336 100644 (file)
@@ -2907,7 +2907,7 @@ arm_stub_unwind_sniffer (const struct frame_unwind *self,
   gdb_byte dummy[4];
 
   addr_in_block = get_frame_address_in_block (this_frame);
-  if (in_plt_section (addr_in_block, NULL)
+  if (in_plt_section (addr_in_block)
       /* We also use the stub winder if the target memory is unreadable
         to avoid having the prologue unwinder trying to read it.  */
       || target_read_memory (get_frame_pc (this_frame), dummy, 4) != 0)
index 667904e7a5ccda2f27c84bc0b711c4effa20832d..88e59ba3e9c8f283d10b781f6187e0e93d854fa2 100644 (file)
 extern void _initialize_hppa_hpux_tdep (void);
 extern initialize_file_ftype _initialize_hppa_hpux_tdep;
 
-static int
-in_opd_section (CORE_ADDR pc)
-{
-  struct obj_section *s;
-  int retval = 0;
-
-  s = find_pc_section (pc);
-
-  retval = (s != NULL
-           && s->the_bfd_section->name != NULL
-           && strcmp (s->the_bfd_section->name, ".opd") == 0);
-  return (retval);
-}
-
 /* Return one if PC is in the call path of a trampoline, else return zero.
 
    Note we return one for *any* call trampoline (long-call, arg-reloc), not
    just shared library trampolines (import, export).  */
 
 static int
-hppa32_hpux_in_solib_call_trampoline (struct gdbarch *gdbarch,
-                                     CORE_ADDR pc, char *name)
+hppa32_hpux_in_solib_call_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
   struct bound_minimal_symbol minsym;
@@ -156,8 +141,7 @@ hppa32_hpux_in_solib_call_trampoline (struct gdbarch *gdbarch,
 }
 
 static int
-hppa64_hpux_in_solib_call_trampoline (struct gdbarch *gdbarch,
-                                     CORE_ADDR pc, char *name)
+hppa64_hpux_in_solib_call_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
 
@@ -798,7 +782,7 @@ hppa64_hpux_find_global_pointer (struct gdbarch *gdbarch,
 
   faddr = value_as_address (function);
 
-  if (in_opd_section (faddr))
+  if (pc_in_section (faddr, ".opd"))
     {
       target_read_memory (faddr, buf, sizeof (buf));
       return extract_unsigned_integer (&buf[24], 8, byte_order);
index dde237470d52ba38de6a4499b6a2dc24be16cd2a..52efea1e8639561c67e28176e5751621f115e6af 100644 (file)
@@ -356,7 +356,7 @@ hppa_linux_find_global_pointer (struct gdbarch *gdbarch,
   /* If the address is in the plt section, then the real function hasn't 
      yet been fixed up by the linker so we cannot determine the gp of 
      that function.  */
-  if (in_plt_section (faddr, NULL))
+  if (in_plt_section (faddr))
     return 0;
 
   faddr_sect = find_pc_section (faddr);
index fe1b45bcba9a094116afe02902a8a8dd426415cd..53f8ed7f65aa7da4834948cead87be3c5338e07e 100644 (file)
@@ -2417,7 +2417,7 @@ hppa_stub_unwind_sniffer (const struct frame_unwind *self,
 
   if (pc == 0
       || (tdep->in_solib_call_trampoline != NULL
-         && tdep->in_solib_call_trampoline (gdbarch, pc, NULL))
+         && tdep->in_solib_call_trampoline (gdbarch, pc))
       || gdbarch_in_solib_return_trampoline (gdbarch, pc, NULL))
     return 1;
   return 0;
@@ -2855,13 +2855,12 @@ hppa_in_dyncall (CORE_ADDR pc)
 }
 
 int
-hppa_in_solib_call_trampoline (struct gdbarch *gdbarch,
-                              CORE_ADDR pc, char *name)
+hppa_in_solib_call_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   unsigned int insn[HPPA_MAX_INSN_PATTERN_LEN];
   struct unwind_table_entry *u;
 
-  if (in_plt_section (pc, name) || hppa_in_dyncall (pc))
+  if (in_plt_section (pc) || hppa_in_dyncall (pc))
     return 1;
 
   /* The GNU toolchain produces linker stubs without unwind
@@ -2918,13 +2917,13 @@ hppa_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
       /* fallthrough */
     }
 
-  if (in_plt_section (pc, NULL))
+  if (in_plt_section (pc))
     {
       pc = read_memory_typed_address (pc, func_ptr_type);
 
       /* If the PLT slot has not yet been resolved, the target will be
          the PLT stub.  */
-      if (in_plt_section (pc, NULL))
+      if (in_plt_section (pc))
        {
          /* Sanity check: are we pointing to the PLT stub?  */
          if (!hppa_match_insns (gdbarch, pc, hppa_plt_stub, insn))
index 3b1006694b23ba3e6e31e33173f0916133ffd2ad..d2ce45927e2412723400fee45e75eadbb3e01c27 100644 (file)
@@ -90,11 +90,9 @@ struct gdbarch_tdep
   CORE_ADDR (*find_global_pointer) (struct gdbarch *, struct value *);
 
   /* For shared libraries, each call goes through a small piece of
-     trampoline code in the ".plt", or equivalent, section.
-     IN_SOLIB_CALL_TRAMPOLINE evaluates to nonzero if we are currently
-     stopped in one of these.  */
-  int (*in_solib_call_trampoline) (struct gdbarch *gdbarch,
-                                  CORE_ADDR pc, char *name);
+     trampoline code in the ".plt" section.  IN_SOLIB_CALL_TRAMPOLINE
+     evaluates to nonzero if we are currently stopped in one of these.  */
+  int (*in_solib_call_trampoline) (struct gdbarch *gdbarch, CORE_ADDR pc);
 
   /* For targets that support multiple spaces, we may have additional stubs
      in the return path.  These stubs are internal to the ABI, and users are
@@ -242,7 +240,7 @@ extern struct minimal_symbol *
 extern struct hppa_objfile_private *hppa_init_objfile_priv_data (struct objfile *objfile);
 
 extern int hppa_in_solib_call_trampoline (struct gdbarch *gdbarch,
-                                         CORE_ADDR pc, char *name);
+                                         CORE_ADDR pc);
 extern CORE_ADDR hppa_skip_trampoline_code (struct frame_info *, CORE_ADDR pc);
 
 #endif  /* hppa-tdep.h */
index 18cf9a2863161420f9e8d979d53295fdd6511a1c..4cfb1012df8e5f44fe2a96d81374925ccc7fd826 100644 (file)
@@ -47,7 +47,7 @@ hppabsd_find_global_pointer (struct gdbarch *gdbarch, struct value *function)
   /* If the address is in the .plt section, then the real function
      hasn't yet been fixed up by the linker so we cannot determine the
      Global Pointer for that function.  */
-  if (in_plt_section (faddr, NULL))
+  if (in_plt_section (faddr))
     return 0;
 
   faddr_sec = find_pc_section (faddr);
index 1628645f9cd54c43c8384b30af9b3df82e85a81f..484b39f7fe58260271e2a01f7b07818305683603 100644 (file)
@@ -30,6 +30,7 @@
 #include "trad-frame.h"
 #include "tramp-frame.h"
 #include "gdbtypes.h"
+#include "objfiles.h"
 #include "solib.h"
 #include "solib-svr4.h"
 #include "solist.h"
@@ -666,25 +667,34 @@ mips_linux_core_read_description (struct gdbarch *gdbarch,
 
 
 /* Check the code at PC for a dynamic linker lazy resolution stub.
-   Because they aren't in the .plt section, we pattern-match on the
-   code generated by GNU ld.  They look like this:
+   GNU ld for MIPS has put lazy resolution stubs into a ".MIPS.stubs"
+   section uniformly since version 2.15.  If the pc is in that section,
+   then we are in such a stub.  Before that ".stub" was used in 32-bit
+   ELF binaries, however we do not bother checking for that since we
+   have never had and that case should be extremely rare these days.
+   Instead we pattern-match on the code generated by GNU ld.  They look
+   like this:
 
    lw t9,0x8010(gp)
    addu t7,ra
    jalr t9,ra
    addiu t8,zero,INDEX
 
-   (with the appropriate doubleword instructions for N64).  Also
-   return the dynamic symbol index used in the last instruction.  */
+   (with the appropriate doubleword instructions for N64).  As any lazy
+   resolution stubs in microMIPS binaries will always be in a
+   ".MIPS.stubs" section we only ever verify standard MIPS patterns. */
 
 static int
-mips_linux_in_dynsym_stub (CORE_ADDR pc, char *name)
+mips_linux_in_dynsym_stub (CORE_ADDR pc)
 {
   gdb_byte buf[28], *p;
   ULONGEST insn, insn1;
   int n64 = (mips_abi (target_gdbarch ()) == MIPS_ABI_N64);
   enum bfd_endian byte_order = gdbarch_byte_order (target_gdbarch ());
 
+  if (in_mips_stubs_section (pc))
+    return 1;
+
   read_memory (pc - 12, buf, 28);
 
   if (n64)
@@ -742,7 +752,7 @@ mips_linux_in_dynsym_stub (CORE_ADDR pc, char *name)
        return 0;
     }
 
-  return (insn & 0xffff);
+  return 1;
 }
 
 /* Return non-zero iff PC belongs to the dynamic linker resolution
@@ -756,9 +766,10 @@ mips_linux_in_dynsym_resolve_code (CORE_ADDR pc)
   if (svr4_in_dynsym_resolve_code (pc))
     return 1;
 
-  /* Pattern match for the stub.  It would be nice if there were a
-     more efficient way to avoid this check.  */
-  if (mips_linux_in_dynsym_stub (pc, NULL))
+  /* Likewise for the stubs.  They live in the .MIPS.stubs section these
+     days, so we check if the PC is within, than fall back to a pattern
+     match.  */
+  if (mips_linux_in_dynsym_stub (pc))
     return 1;
 
   return 0;
index 245ffd6bb4bafc1edb1acd08faf54890d2e0811d..5a4e26ca752d90ed05655aaabc92762834b76597 100644 (file)
@@ -3588,15 +3588,7 @@ mips_stub_frame_sniffer (const struct frame_unwind *self,
   if (target_read_memory (get_frame_pc (this_frame), dummy, 4) != 0)
     return 1;
 
-  if (in_plt_section (pc, NULL))
-    return 1;
-
-  /* Binutils for MIPS puts lazy resolution stubs into .MIPS.stubs.  */
-  s = find_pc_section (pc);
-
-  if (s != NULL
-      && strcmp (bfd_get_section_name (s->objfile->obfd, s->the_bfd_section),
-                ".MIPS.stubs") == 0)
+  if (in_plt_section (pc) || in_mips_stubs_section (pc))
     return 1;
 
   /* Calling a PIC function from a non-PIC function passes through a
index 096bcebbb4692b99d4d41d9dac36dcc7b7d048d2..91d7cb02cdde5a04e6fdf8b4045e12085b9d7555 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef MIPS_TDEP_H
 #define MIPS_TDEP_H
 
+#include "objfiles.h"
+
 struct gdbarch;
 
 /* All the possible MIPS ABIs.  */
@@ -184,4 +186,12 @@ extern void mips_write_pc (struct regcache *regcache, CORE_ADDR pc);
 extern struct target_desc *mips_tdesc_gp32;
 extern struct target_desc *mips_tdesc_gp64;
 
+/* Return non-zero if PC is in a MIPS SVR4 lazy binding stub section.  */
+
+static inline int
+in_mips_stubs_section (CORE_ADDR pc)
+{
+  return pc_in_section (pc, ".MIPS.stubs");
+}
+
 #endif /* MIPS_TDEP_H */
index 49f8271c48b3af6a29b6886acabb14d228ae4c61..5b9e2e6a373a34eecf7fbb414517f03799178ecd 100644 (file)
@@ -1324,7 +1324,7 @@ nios2_stub_frame_sniffer (const struct frame_unwind *self,
   if (target_read_memory (get_frame_pc (this_frame), dummy, 4) != 0)
     return 1;
 
-  if (in_plt_section (pc, NULL))
+  if (in_plt_section (pc))
     return 1;
 
   return 0;
index 748869f84d8afc237dc9622fa09266f25ab5aead..b1a431ccaf15730670325469286e8d5a413aec52 100644 (file)
@@ -318,7 +318,7 @@ nto_relocate_section_addresses (struct so_list *so, struct target_section *sec)
 int
 nto_in_dynsym_resolve_code (CORE_ADDR pc)
 {
-  if (in_plt_section (pc, NULL))
+  if (in_plt_section (pc))
     return 1;
   return 0;
 }
index 1e1b7bcc9f025e9e52d2e9d1faad7dab6d9b2d26..759159c35af55c30ad0cd3e48316fb2d2d865882 100644 (file)
@@ -1410,12 +1410,10 @@ find_pc_section (CORE_ADDR pc)
 }
 
 
-/* In SVR4, we recognize a trampoline by it's section name. 
-   That is, if the pc is in a section named ".plt" then we are in
-   a trampoline.  */
+/* Return non-zero if PC is in a section called NAME.  */
 
 int
-in_plt_section (CORE_ADDR pc, char *name)
+pc_in_section (CORE_ADDR pc, char *name)
 {
   struct obj_section *s;
   int retval = 0;
@@ -1424,7 +1422,7 @@ in_plt_section (CORE_ADDR pc, char *name)
 
   retval = (s != NULL
            && s->the_bfd_section->name != NULL
-           && strcmp (s->the_bfd_section->name, ".plt") == 0);
+           && strcmp (s->the_bfd_section->name, name) == 0);
   return (retval);
 }
 \f
index adb1ef8d3c9aa6aa7f7fdba20c39c90bf020559d..84167e03f3a591a3ef414e6439012d72f16c7e63 100644 (file)
@@ -495,7 +495,17 @@ extern int have_minimal_symbols (void);
 
 extern struct obj_section *find_pc_section (CORE_ADDR pc);
 
-extern int in_plt_section (CORE_ADDR, char *);
+/* Return non-zero if PC is in a section called NAME.  */
+extern int pc_in_section (CORE_ADDR, char *);
+
+/* Return non-zero if PC is in a SVR4-style procedure linkage table
+   section.  */
+
+static inline int
+in_plt_section (CORE_ADDR pc)
+{
+  return pc_in_section (pc, ".plt");
+}
 
 /* Keep a registry of per-objfile data-pointers required by other GDB
    modules.  */
index 641bc80a3685ce16762d342fdc9deb1526e828ff..6111bbf96a0276ac4c71f9925aa73b6194a45594 100644 (file)
@@ -2116,7 +2116,7 @@ s390_stub_frame_sniffer (const struct frame_unwind *self,
      have trapped due to an invalid function pointer call.  We handle
      the non-existing current function like a PLT stub.  */
   addr_in_block = get_frame_address_in_block (this_frame);
-  if (in_plt_section (addr_in_block, NULL)
+  if (in_plt_section (addr_in_block)
       || s390_readinstruction (insn, get_frame_pc (this_frame)) < 0)
     return 1;
   return 0;
index 53de7a2b2f3a5ad5549653ca26e0343670206c95..e8f1917a7113b7a00d0f2011eab7d189154af0c5 100644 (file)
@@ -2036,7 +2036,7 @@ sh_stub_unwind_sniffer (const struct frame_unwind *self,
   CORE_ADDR addr_in_block;
 
   addr_in_block = get_frame_address_in_block (this_frame);
-  if (in_plt_section (addr_in_block, NULL))
+  if (in_plt_section (addr_in_block))
     return 1;
 
   return 0;
index 01dc4b7cac826db97acfc080f7630fd5d9d5c500..4fe24f82e6e98002642f2a99eea10cbafc436695 100644 (file)
@@ -764,7 +764,7 @@ dsbt_in_dynsym_resolve_code (CORE_ADDR pc)
 
   return ((pc >= info->interp_text_sect_low && pc < info->interp_text_sect_high)
          || (pc >= info->interp_plt_sect_low && pc < info->interp_plt_sect_high)
-         || in_plt_section (pc, NULL));
+         || in_plt_section (pc));
 }
 
 /* Print a warning about being unable to set the dynamic linker
index 28fb4a49a210d65fb589219a412b535108c3fbc7..65c7e012dabf816f09894771eaa55e0bcb9ca937 100644 (file)
@@ -448,7 +448,7 @@ frv_in_dynsym_resolve_code (CORE_ADDR pc)
 {
   return ((pc >= interp_text_sect_low && pc < interp_text_sect_high)
          || (pc >= interp_plt_sect_low && pc < interp_plt_sect_high)
-         || in_plt_section (pc, NULL));
+         || in_plt_section (pc));
 }
 
 /* Given a loadmap and an address, return the displacement needed
index 2c8d893dc493d2d014bfb3e8f66bc5b3a94124ae..6f8d0efa8530af61d82967a898514dc936cb8b86 100644 (file)
@@ -1532,7 +1532,7 @@ svr4_in_dynsym_resolve_code (CORE_ADDR pc)
           && pc < info->interp_text_sect_high)
          || (pc >= info->interp_plt_sect_low
              && pc < info->interp_plt_sect_high)
-         || in_plt_section (pc, NULL)
+         || in_plt_section (pc)
          || in_gnu_ifunc_stub (pc));
 }
 
index 483e5f9f022bc6176fb53c1c30c0fb2d23736268..570827687fdf01282906cd5c06abf2adbc03998b 100644 (file)
@@ -476,7 +476,7 @@ solib_target_in_dynsym_resolve_code (CORE_ADDR pc)
   /* We don't have a range of addresses for the dynamic linker; there
      may not be one in the program's address space.  So only report
      PLT entries (which may be import stubs).  */
-  return in_plt_section (pc, NULL);
+  return in_plt_section (pc);
 }
 
 struct target_so_ops solib_target_so_ops;
index 2b38521a85f6600fde32afc6127d534bb6ba144a..880d2768883fb258dd8c0cc334ec8dcd53dde609 100644 (file)
@@ -855,7 +855,7 @@ sparc_analyze_prologue (struct gdbarch *gdbarch, CORE_ADDR pc,
      dynamic linker patches up the first PLT with some code that
      starts with a SAVE instruction.  Patch up PC such that it points
      at the start of our PLT entry.  */
-  if (tdep->plt_entry_size > 0 && in_plt_section (current_pc, NULL))
+  if (tdep->plt_entry_size > 0 && in_plt_section (current_pc))
     pc = current_pc - ((current_pc - pc) % tdep->plt_entry_size);
 
   insn = sparc_fetch_instruction (pc);
index 045fc73ecbf7dafce55126cd4eaec377a3b3841a..d382b3d404b6360df2a57004f155806003a9292f 100644 (file)
@@ -530,7 +530,7 @@ tic6x_stub_unwind_sniffer (const struct frame_unwind *self,
   CORE_ADDR addr_in_block;
 
   addr_in_block = get_frame_address_in_block (this_frame);
-  if (in_plt_section (addr_in_block, NULL))
+  if (in_plt_section (addr_in_block))
     return 1;
 
   return 0;
This page took 0.047656 seconds and 4 git commands to generate.