public inbox for cgen@sourceware.org
 help / color / mirror / Atom feed
From: "Frank Ch. Eigler" <fche@redhat.com>
To: Andrew Cagney <cagney@redhat.com>
Cc: binutils@sources.redhat.com, cgen@sources.redhat.com
Subject: Re: include/dis-asm.h patch for cgen disassemblers
Date: Mon, 04 Feb 2002 08:32:00 -0000	[thread overview]
Message-ID: <20020204113200.A10856@redhat.com> (raw)
In-Reply-To: <3C5B1E19.8030405@cygnus.com>; from ac131313@cygnus.com on Fri, Feb 01, 2002 at 06:00:41PM -0500

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

Hi -


cagney wrote:
> [...]
> What has a fabrication decision got to do with this?  The PS2 is a 
> number of different ISAs that happen to be on a single chip.

Good, we agree.

> I'm contending that this is correctly modeled within BFD as separate 
> BFD_ARCH's.  If it isn't then the documentation, at least, for BFD is wrong.
> 
> You appear to contend that it is correctly modeled as a single bfd_arch 
> and a number of different bfd_machs.  [...]

It is correct in the sense that it works (and has been working for, oh,
three years now?), it's reasonably compact in code, and it doesn't obviously
contradict any important rules.  If you prefer a new "correctness" criterion
that it fails, the it's not "correct", but the onus is on you to justify your
criterion.


> > I don't really care -- it has no bearing on the current issue.
> 
> It has direct bearing on the current issue.  Your response to the above 
> illustrates this.  

I wish you simply read what I wrote.  There is no connection
between this PS2 modelling issue and the new one.  I'll put
it in a table so you can't miss it:

          PS2                    MULTIPLE-ISA CHIP

* multiple processors        * single processor
* one instruction set per    * multiple instruction sets
  processor 
* one bfd_arch, multiple     * one bfd_arch, one bfd_mach
  bfd_machs

For the benefit of mystified binutils/cgen readers, I think the
reason cagney is so interested in the first column, is a
long-standing quixotic battle against gdb-ically incorrect
bfd modelling.  Apparently, roughly speaking, gdb's multiarch
system likes to map from bfd_arch numbers (and not bfd_arch/bfd_mach
pairs) to a vector of target-specific functions.  Using multiple
bfd_mach codes for dissimilar family members throws a monkey-wrench
into this scheme, for the simpleminded "each bfd_mach is a strict
subtype of the bfd_arch" view of the world.

Whether such a simple/rigid subtyping relationship is in fact
reasonable to insist on is a legitimate question, and I invite
Andrew to nudge the great ship bfd toward whatever heading he prefers.

In the mean time, I expect that people recognize the second
column as a distinct situation, with a distinct problem (run-time
selection among several instruction sets a la arm/thumb), for
which my patch is a reasonable solution.  


> [...]
> Who knows what you're doing.  You haven't posted any thing updating the 
> documentation and clarifying this.

AFAIK (and I at least have looked), the disassemble_info struct is not
separately documented.  I will expand on the inline comments though.


> [...] Try, instruction_subsets then?  I have strong reservations over 
> isa as it and bfd_architecture are badly overloaded.

So -- it is the "a" in "isa" that concerns you.  I will for now dodge
the issue whether it makes sense to talk about the architecture of an
instruction set per se, as opposed to the larger architecture of a
processor.  I propose to adopt the shortened "insn_sets" as the new
disassemble_info field name in question.


> Can I assume, for instance, that INSTRUCTION_SUBSETS, wouldn't be used 
> to select orthogonal ISAs that run on different compute engines?

I have no such intent -- as I've had to say too many times now, I need
the field to further refine the set of instructions identified by some
given bfd_arch/bfd_mach pair.


- FChE

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

  parent reply	other threads:[~2002-02-04 16:32 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-31  9:43 Frank Ch. Eigler
2002-01-31 12:22 ` Doug Evans
2002-01-31 13:21   ` Frank Ch. Eigler
2002-01-31 13:41     ` Doug Evans
2002-02-01 10:13       ` Frank Ch. Eigler
2002-02-01 10:22         ` Doug Evans
2002-02-01 10:28         ` Andrew Cagney
2002-02-01 10:36           ` Frank Ch. Eigler
2002-02-01 11:00             ` Andrew Cagney
2002-01-31 13:55     ` Andrew Cagney
2002-01-31 15:42       ` Frank Ch. Eigler
2002-01-31 16:03         ` Andrew Cagney
2002-01-31 16:57           ` Frank Ch. Eigler
2002-01-31 22:33             ` Andrew Cagney
     [not found]               ` <20020201092827.H6166@redhat.com>
     [not found]                 ` <3C5AE910.4090009@cygnus.com>
2002-02-01 11:56                   ` Frank Ch. Eigler
2002-02-01 12:02                     ` Andrew Cagney
2002-02-01 12:10                       ` Frank Ch. Eigler
2002-02-01 12:44                         ` Andrew Cagney
2002-02-01 12:56                           ` Andrew Cagney
2002-02-01 13:23                             ` Frank Ch. Eigler
     [not found]                               ` <3C5B1E19.8030405@cygnus.com>
2002-02-04  8:32                                 ` Frank Ch. Eigler [this message]
     [not found]                                   ` <3C601DB8.7080700@cygnus.com>
2002-02-05 11:29                                     ` Frank Ch. Eigler
2002-02-05 12:42                                       ` Doug Evans
     [not found]                     ` <3C5AF9D1.8070607@cygnus.com>
2002-02-01 12:39                       ` Frank Ch. Eigler

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=20020204113200.A10856@redhat.com \
    --to=fche@redhat.com \
    --cc=binutils@sources.redhat.com \
    --cc=cagney@redhat.com \
    --cc=cgen@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).