This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: RFA: osabi: correct test for compatible handlers
- From: Jim Blandy <jimb at redhat dot com>
- To: Andrew Cagney <ac131313 at redhat dot com>
- Cc: gdb-patches at sources dot redhat dot com,Kris Warkentin <kewarken at qnx dot com>,Daniel Jacobowitz <drow at mvista dot com>
- Date: 22 Oct 2003 15:04:38 -0500
- Subject: Re: RFA: osabi: correct test for compatible handlers
- References: <vt2n0buw7r5.fsf@zenia.home> <3F96D128.5040904@redhat.com>
Andrew Cagney <ac131313@redhat.com> writes:
> > + /* BFD's 'A->compatible (A, B)' functions return zero if A and B are
> > + incompatible. But if they are compatible, it returns the 'more
> > + featureful' of the two arches. That is, if A can run code
> > + 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. */
> > + return (a == b || a->compatible (a, b) == a);
>
> Hey, nice.
>
> Don't worry about a can_run_code_for function though, having the logic
> inline makes what's happening easier to understand (and will simplify
> a follow-on wild-card patch I've got pending).
It may be easier for you, but the original author did get the test
backwards, and I had to go through an embarrassing number of wrong
tries before I got it right. I'd really like to leave the function
separate.