]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Revert for revision.
authorJim Blandy <jimb@codesourcery.com>
Thu, 12 Jun 2003 21:09:22 +0000 (21:09 +0000)
committerJim Blandy <jimb@codesourcery.com>
Thu, 12 Jun 2003 21:09:22 +0000 (21:09 +0000)
gdb/ChangeLog
gdb/ppc-linux-tdep.c

index 0b0177d94672c53f59393c738615229e9a0699d2..8be24c291dd9449a1184935b051b467d5274ac53 100644 (file)
        * solib-svr4.c (solib_break_names): Recognize the 64-bit PowerPC
        Linux entry point symbols for _dl_debug_state, too.
 
-       * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): New
-       function.
-       (ppc_linux_init_abi): Register it as the
-       CONVERT_FROM_FUNC_PTR_ADDR method under the PPC64 Linux ABI.
-
        * arch-utils.c (always_use_struct_convention): New function.
        * arch-utils.h (always_use_struct_convention): New prototype.
        * alpha-tdep.c (alpha_use_struct_convention): Delete.
index 270bc4b74e17b2209c3f074a03d4a32144f295c2..a772c19935bf6007378e9cdaaacac8ee844bbf97 100644 (file)
@@ -894,39 +894,6 @@ ppc64_skip_trampoline_code (CORE_ADDR pc)
 }
 
 
-/* Support for CONVERT_FROM_FUNC_PTR_ADDR(ADDR).
-
-   Usually a function pointer's representation is simply the address
-   of the function. On the RS/6000 however, a function pointer is
-   represented by a pointer to a TOC entry. This TOC entry contains
-   three words, the first word is the address of the function, the
-   second word is the TOC pointer (r2), and the third word is the
-   static chain value.  Throughout GDB it is currently assumed that a
-   function pointer contains the address of the function, which is not
-   easy to fix.  In addition, the conversion of a function address to
-   a function pointer would require allocation of a TOC entry in the
-   inferior's memory space, with all its drawbacks.  To be able to
-   call C++ virtual methods in the inferior (which are called via
-   function pointers), find_function_addr uses this function to get the
-   function address from a function pointer.  */
-
-/* Return real function address if ADDR (a function pointer) is in the data
-   space and is therefore a special function pointer.  */
-
-static CORE_ADDR
-ppc64_linux_convert_from_func_ptr_addr (CORE_ADDR addr)
-{
-  struct obj_section *s;
-
-  s = find_pc_section (addr);
-  if (s && s->the_bfd_section->flags & SEC_CODE)
-    return addr;
-
-  /* ADDR is in the data space, so it's a special function pointer. */
-  return ppc64_desc_entry_point (addr);
-}
-
-
 /* On 64-bit PowerPC Linux, the ELF header's e_entry field is the
    address of a function descriptor for the entry point function, not
    the actual entry point itself.  So to find the actual address at
@@ -1060,11 +1027,6 @@ ppc_linux_init_abi (struct gdbarch_info info,
   
   if (tdep->wordsize == 8)
     {
-      /* Handle PPC64 Linux function pointers (which are really
-         function descriptors).  */
-      set_gdbarch_convert_from_func_ptr_addr
-        (gdbarch, ppc64_linux_convert_from_func_ptr_addr);
-
       set_gdbarch_call_dummy_address (gdbarch, ppc64_call_dummy_address);
 
       set_gdbarch_in_solib_call_trampoline