public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Jim Blandy <jimb@redhat.com>
To: gdb@sources.redhat.com
Subject: S/390 modernization tasks
Date: Wed, 23 Apr 2003 23:18:00 -0000	[thread overview]
Message-ID: <vt2el3slrzx.fsf@zenia.red-bean.com> (raw)


At the moment, s390-tdep.c uses quite a few deprecated gdbarch
methods.  Here's a list of the changes currently needed to bring that
code forward.  So much has changed that I'm sure some of the
descriptions of what needs to be done aren't exactly right, but at the
very least, I think they'll point to areas that need attention.

- The way a target maps out its register set has changed.

  These old methods don't seem to be necessary any more:
  - DEPRECATED_MAX_REGISTER_RAW_SIZE
  - DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE

  The new method gdbarch_register_type seems to replace:
  - gdbarch_pseudo_register_read
  - gdbarch_pseudo_register_write

- Some interfaces now use regcaches instead of byte arrays.

  A number of gdbarch methods have been converted from using a raw
  registers array (or the equivalent) to using the more opaque
  regcache structure.  These include:
  - EXTRACT_RETURN_VALUE
  - STORE_RETURN_VALUE
  - EXTRACT_STRUCT_VALUE_ADDRESS (which the s390 can't do anyway)

- There is a new, much simpler interface for frame unwinding.

  One simply registers a function that, given a frame's PC, returns a
  structure of pointers to functions that can unwind that frame's
  registers.  This seems to replace a number of functions:
  - DEPRECATED_FRAME_CHAIN
  - DEPRECATED_FRAME_SAVED_PC
  - DEPRECATED_INIT_FRAME_PC
  - DEPRECATED_INIT_FRAME_PC_FIRST
  - DEPRECATED_FRAME_INIT_SAVED_REGS
  - DEPRECATED_INIT_EXTRA_FRAME_INFO
  - DEPRECATED_SAVED_PC_AFTER_CALL
  - DEPRECATED_POP_FRAME

- The generic_find_dummy_frame function now returns a regcache.

  The functions s390_frame_saved_pc_nofix and s390_frame_chain use
  deprecated_generic_find_dummy_frame, which returns an array of bytes
  containing values for the registers saved in the dummy frame.  The
  new generic_find_dummy_frame interface returns a regcache instead.

  The functions that use generic_find_dummy_frame will all go away (I
  think) under the new frame unwinding system, so this may not need
  attention if that's done first.  However, it is a quick improvement
  that one could get out of the way before undertaking the larger
  project.

- There is a new inferior function call interface.

  The new push_dummy_call gdbarch method combines all the following
  into one call with a lot of arguments:
  - DEPRECATED_PUSH_ARGUMENTS
  - DEPRECATED_PUSH_RETURN_ADDRESS
  - DEPRECATED_DUMMY_WRITE_SP
  - DEPRECATED_STORE_STRUCT_RETURN

- The DEPRECATED_PC_IN_CALL_DUMMY function isn't necessary any more.

  Each dummy frame structure now holds the address at which its return
  breakpoint is set; this means that generic code (specifically,
  pc_in_dummy_frame) can recognize PC's at call dummy breakpoints.

             reply	other threads:[~2003-04-23 23:18 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-23 23:18 Jim Blandy [this message]
2003-04-24 19:17 ` 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=vt2el3slrzx.fsf@zenia.red-bean.com \
    --to=jimb@redhat.com \
    --cc=gdb@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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).