RFA: osabi: correct test for compatible handlers

Andrew Cagney ac131313@redhat.com
Wed Oct 22 19:09:00 GMT 2003


> +   /* 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).

Andrew




More information about the Gdb-patches mailing list