Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Andrew Cagney <ac131313@cygnus.com>
To: gdb-patches@sources.redhat.com
Subject: [rfa/rfc:ppc] svr4 and not just ELFOSABI_LINUX for function parsing et.al.
Date: Sun, 21 Apr 2002 21:29:00 -0000	[thread overview]
Message-ID: <3CC391A7.4090607@cygnus.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1224 bytes --]

Hello,

I was finding that for a non-GNU/Linux SVR4 PPC platform malloc() was 
failing because RS6000 TOC func-ptr code was being selected:

       /* Handle RS/6000 function pointers.  */
       set_gdbarch_convert_from_func_ptr_addr (gdbarch,
         rs6000_convert_from_func_ptr_addr);

the attached patch changes things to select all of:

       set_gdbarch_frameless_function_invocation (gdbarch,
         ppc_linux_frameless_function_invocation);
       set_gdbarch_frame_chain (gdbarch, ppc_linux_frame_chain);
       set_gdbarch_frame_saved_pc (gdbarch, ppc_linux_frame_saved_pc);

       set_gdbarch_frame_init_saved_regs (gdbarch,
                                          ppc_linux_frame_init_saved_regs);
       set_gdbarch_init_extra_frame_info (gdbarch,
                                          ppc_linux_init_extra_frame_info);

       set_gdbarch_memory_remove_breakpoint (gdbarch,
 
ppc_linux_memory_remove_breakpoint);
       set_solib_svr4_fetch_link_map_offsets
         (gdbarch, ppc_linux_svr4_fetch_link_map_offsets);

when svr4_abi.  It certainly improves things (fails went from 136 -> 80) 
  but I'm not 100% certain if this is correct for all the above - I 
suspect it is overkill :-/

Andrew



[-- Attachment #2: diffs --]
[-- Type: text/plain, Size: 872 bytes --]

2002-04-21  Andrew Cagney  <ac131313@redhat.com>

	* rs6000-tdep.c (rs6000_gdbarch_init): Set
	frameless_function_invocation et.al. when sysv_abi and not just
	ELFOSABI_LINUX.

Index: rs6000-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/rs6000-tdep.c,v
retrieving revision 1.59
diff -u -r1.59 rs6000-tdep.c
--- rs6000-tdep.c	20 Apr 2002 03:09:28 -0000	1.59
+++ rs6000-tdep.c	22 Apr 2002 04:17:40 -0000
@@ -2720,7 +2720,7 @@
   set_gdbarch_frame_chain_valid (gdbarch, file_frame_chain_valid);
   /* Note: kevinb/2002-04-12: See note above regarding *_push_arguments().
      The same remarks hold for the methods below.  */
-  if (osabi == ELFOSABI_LINUX && wordsize == 4)
+  if (sysv_abi && wordsize == 4)
     {
       set_gdbarch_frameless_function_invocation (gdbarch,
 	ppc_linux_frameless_function_invocation);

             reply	other threads:[~2002-04-22  4:29 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-21 21:29 Andrew Cagney [this message]
2002-04-22  0:59 ` Kevin Buettner
2002-04-25 21:31   ` Andrew Cagney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3CC391A7.4090607@cygnus.com \
    --to=ac131313@cygnus.com \
    --cc=gdb-patches@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox