[ARC] Implement compatible function for ARC BFD architectures
authorAnton Kolesov <Anton.Kolesov@synopsys.com>
Fri, 17 Mar 2017 15:37:42 +0000 (18:37 +0300)
committerAnton Kolesov <Anton.Kolesov@synopsys.com>
Tue, 30 May 2017 13:51:14 +0000 (16:51 +0300)
commit64984c22f7045d53590f816e7ba0b9b9fa1dbbe7
tree33a06f27d6ef29f23547b47f44e7e04e931937a2
parent37cd38778dfb73d28e533fd1ddabb88b4b3a5771
[ARC] Implement compatible function for ARC BFD architectures

The general rule for bfd_arch_info_type->compatible (A, B) is that if A and B
are compatible, then this function should return architecture that is more
"feature-rich", that is, can run both A and B.  ARCv2, EM and HS all has same
mach number, so bfd_default_compatible assumes they are the same, and returns
an A.  That causes issues with GDB, because GDB assumes that if machines are
compatible, then "compatible ()" always returns same machine regardless of
argument order.  As a result GDB gets confused because, for example,
compatible(ARCv2, EM) returns ARCv2, but compatible(EM, ARCv2) returns EM,
hence GDB is not sure if they are compatible and prints a warning.

bfd/ChangeLog:

yyyy-mm-dd  Anton Kolesov  Anton.Kolesov@synopsys.com

 cpu-arc.c (arc_compatible): New function.
bfd/ChangeLog
bfd/cpu-arc.c