Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Andrew Cagney <ac131313@redhat.com>
To: gdb-patches@sources.redhat.com
Subject: [obish] More osabi comments
Date: Fri, 24 Oct 2003 15:43:00 -0000	[thread overview]
Message-ID: <3F9948BA.4050201@redhat.com> (raw)

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

More comments the better ...

Recent discussions to do with rs6000 compatibility left me wondering how 
come "amd64 can run code for i386" wasn't getting a hit.   The attached 
comment explains why the test (both old and new) works for the 32-bit vs 
64-bit case.

I also changed "atom" to the more common OO term "singleton".

committed,
Andrew

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

2003-10-24  Andrew Cagney  <cagney@redhat.com>

	* osabi.c (gdbarch_init_osabi): Add comment on 32-bit vs 64-bit.
	(can_run_code_for): Use the OO term "singleton".

Index: osabi.c
===================================================================
RCS file: /cvs/src/src/gdb/osabi.c,v
retrieving revision 1.18
diff -u -r1.18 osabi.c
--- osabi.c	23 Oct 2003 21:15:50 -0000	1.18
+++ osabi.c	24 Oct 2003 15:35:26 -0000
@@ -295,9 +295,9 @@
      written for B, but B can't run code written for A, then it'll
      return A.
 
-     struct bfd_arch_info objects are atoms: that is, there's supposed
-     to be exactly one instance for a given machine.  So you can tell
-     whether two are equivalent by comparing pointers.  */
+     struct bfd_arch_info objects are singletons: that is, there's
+     supposed to be exactly one instance for a given machine.  So you
+     can tell whether two are equivalent by comparing pointers.  */
   return (a == b || a->compatible (a, b) == a);
 }
 
@@ -333,6 +333,14 @@
 	 type that is compatible with the desired machine type.  Right
 	 now we simply return the first match, which is fine for now.
 	 However, we might want to do something smarter in the future.  */
+      /* NOTE: cagney/2003-10-23: The code for "a can_run_code_for b"
+         is implemented using BFD's compatible method (a->compatible
+         (b) == a -- the lowest common denominator between a and b is
+         a).  That method's definition of compatible may not be as you
+         expect.  For instance, while "amd64 can run code for i386"
+         (or more generally "64-bit ISA can run code for the 32-bit
+         ISA").  Fortunatly, BFD doesn't normally consider 32-bit and
+         64-bit "compatible" so won't get a match.  */
       if (can_run_code_for (arch_info, handler->arch_info))
 	{
 	  (*handler->init_osabi) (info, gdbarch);

             reply	other threads:[~2003-10-24 15:43 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-24 15:43 Andrew Cagney [this message]
2003-10-24 15:57 ` Daniel Jacobowitz
2003-10-24 17:20   ` Andrew Cagney
2003-10-24 15:57 ` Kevin Buettner
2003-10-24 21:46 ` Jim Blandy
2003-10-24 22:14   ` Andrew Cagney
2003-10-24 23:31     ` Jim Blandy
2003-10-27 15:28       ` 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=3F9948BA.4050201@redhat.com \
    --to=ac131313@redhat.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