From: Andrew Cagney <cagney@gnu.org>
To: Randolph Chung <randolph@tausq.org>, Eli Zaretskii <eliz@gnu.org>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [patch/rfa] function descriptor handling for push_dummy_call
Date: Fri, 04 Jun 2004 18:44:00 -0000 [thread overview]
Message-ID: <40C0C30C.7020308@gnu.org> (raw)
In-Reply-To: <20040604061024.GQ601@tausq.org>
> This is an updated patch to improve function descriptor handling for
> push_dummy call.
>
> This implements the idea discussed in:
>
> http://sources.redhat.com/ml/gdb-patches/2004-05/msg00093.html
>
> Instead of passing a dereferenced function value into push_dummy_call (), it
> passes the entire "struct value *function".
>
> There are two parts to this patch, the first bit updates
> gdbarch.{sh,h,c} with the new prototype, and updates $(ARCH)-tdep.c.
> Instead of adding find_function_addr calls to every instance, I've only
> added it where it was needed, and pulled in infcall.h in those cases.
> find_function_addr() has been enhanced slightly to handle a NULL return
> type pointer being passed in.
(BTW, here are sort of three parts: the gdbarch change; the
corresponding doco update (changelog goes in doco/ChangeLog); and the
hp/ux tweak.)
I'm ok with the gdbarch and hp/ux mods (suggest separate commits?). I'd
just first check that Eli is ok with the doco aspect of the
gdbint.texinfo change.
enjoy,
Andrew
> * doc/gdbint.texinfo: Update documentation for push_dummy_call.
> * infcall.c (call_function_by_hand): Pass entire function value
> to push_dummy_call.
>
> * Makefile.in (alpha-tdep.o, frv-tdep.o, ia64-tdep.o, mips-tdep.o)
> (ppc-sysv-tdep.o, rs6000-tdep.o): Update dependencies.
> * alpha-tdep.c (alpha_push_dummy_call): Update call signature.
> * amd64-tdep.c (amd64_push_dummy_call): Likewise.
> * arm-tdep.c (arm_push_dummy_call): Likewise.
> * avr-tdep.c (avr_push_dummy_call): Likewise.
> * cris-tdep.c (cris_push_dummy_call): Likewise.
> * d10v-tdep.c (d10v_push_dummy_call): Likewise.
> * frv-tdep.c (frv_push_dummy_call): Likewise.
> * h8300-tdep.c (h8300_push_dummy_call): Likewise.
> * hppa-tdep.c (hppa32_push_dummy_call)
> (hppa64_push_dummy_call): Likewise.
> * i386-tdep.c (i386_push_dummy_call): Likewise.
> * ia64-tdep.c (ia64_push_dummy_call): Likewise.
> * m32r-tdep.c (m32r_push_dummy_call): Likewise.
> * m68hc11-tdep.c (m68hc11_push_dummy_call): Likewise.
> * m68k-tdep.c (m68k_push_dummy_call): Likewise.
> * m88k-tdep.c (m88k_push_dummy_call): Likewise.
> * mips-tdep.c (mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call)
> (mips_o32_push_dummy_call, mips_o64_push_dummy_call): Likewise.
> * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call)
> (ppc64_sysv_abi_push_dummy_call): Likewise.
> * ppc-tdep.h (ppc_sysv_abi_push_dummy_call)
> (ppc64_sysv_abi_push_dummy_call): Likewise.
> * rs6000-tdep.c (rs6000_push_dummy_call): Likewise.
> * s390-tdep.c (s390_push_dummy_call): Likewise.
> * sh-tdep.c (sh_push_dummy_call_fpu)
> (sh_push_dummy_call_nofpu): Likewise.
> * sparc-tdep.c (sparc32_push_dummy_call): Likewise.
> * sparc64-tdep.c (sparc64_push_dummy_call): Likewise.
> * vax-tdep.c (vax_push_dummy_call): Likewise.
>
....
> 2004-06-03 Randolph Chung <tausq@debian.org>
>
> * hppa-tdep.h (struct value): Forward declaration.
> (gdbarch_tdep): Define tdep find_global_pointer method.
> * hppa-tdep.c (hppa32_push_dummy_call): Find the global pointer
> associated with the function we are trying to call, and write it
> to the gp register.
> (hppa32_convert_from_funct_ptr_addr): New function.
> (hppa_find_global_pointer): New function.
> (hppa_gdbarch_init): Set default find_global_pointer method; set
> convert_from_func_ptr_addr method.
> * hppa-linux-tdep.c (hppa_linux_find_global_pointer): New function.
> (hppa_linux_init_abi): Set find_global_pointer method.
> * Makefile.in (hppa-linux-tdep.o): Add value.h dependency.
>
> Index: Makefile.i
next prev parent reply other threads:[~2004-06-04 18:44 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-04 6:10 Randolph Chung
2004-06-04 18:44 ` Andrew Cagney [this message]
2004-06-05 10:17 ` Eli Zaretskii
2004-06-05 13:36 ` Andrew Cagney
2004-06-05 15:58 ` Eli Zaretskii
2004-06-05 16:23 ` Randolph Chung
2004-06-05 21:12 ` Eli Zaretskii
2004-06-07 2:15 ` [patch/commit] " Randolph Chung
2004-06-07 4:25 ` Eli Zaretskii
2004-06-07 4:31 ` Randolph Chung
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=40C0C30C.7020308@gnu.org \
--to=cagney@gnu.org \
--cc=eliz@gnu.org \
--cc=gdb-patches@sources.redhat.com \
--cc=randolph@tausq.org \
/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