Broken SH2a patches

Nick Clifton nickc@redhat.com
Fri Oct 29 10:39:00 GMT 2004


Hi Alex,  Hi Andrew,

>>Hi Alexandre,
>>A (long) while back you send this message:
>>http://sources.redhat.com/ml/binutils/2004-07/msg00439.html
>>Have you made any progress with this problem yet?

> Erhm...  Sort of.  I got Nick to promise to look into the issues, and
> then didn't worry about them any more.

Err, you did ?  It must have been while I was drunk...

> Nick, I take it that you didn't make any progress on them?

That would be correct.

Anyway as I understand it the problem is that the inheritance tree in 
sh-opc.h does not include the SH2A, right ?  Judging from Alex's and 
Andrew's comments there are two possible fixes for this, a simple one 
that just adds the SH2A-nofpu and SH2A inheritance off the SH2E:
-----------------------------------------------------------------------
/* Below are the 'architecture sets'.
    They describe the following inheritance graph:

                  SH1
                  |
                 SH2
    .------------'|`--------------------.
   /              |                      \
SH-DSP          SH3-nommu               SH2E
  |               |`--------.             |`--------.
  |               |          \            |          \
  |              SH3     SH4-nommu-nofpu  |          |
  |               |           |           |          |
  | .------------'|`----------+---------. |          |
  |/                         /           \|          |
  |               | .-------'             |          |
  |               |/                      |          |
SH3-dsp         SH4-nofpu               SH3E    SH2A-nofpu
  |               |`--------------------. |          |
  |               |                      \|          |
  |              SH4A-nofpu              SH4        SH2A
  | .------------' `--------------------. |
  |/                                     \|
SH4AL-dsp                               SH4A
-------------------------------------------------------------------------
And a complex one that invents a fake intermediate architecture to show 
the fact that the SH4, SH4A and SH2A share some instructions.  To my 
mind however there is no satisfactory way of showing this, and instead I 
would like to suggest using a dotted line to show partial inheritance:
-------------------------------------------------------------------------
/* Below are the 'architecture sets'.
    They describe the following inheritance graph:
   (The .... between SH4A and SH2A-nofpu is a partial inheritance).

                 SH1
                  |
                 SH2
    .------------'|`--------------------.
   /              |                      \
SH-DSP          SH3-nommu               SH2E
  |               |`--------.             |`------.
  |               |          \            |        \
  |              SH3     SH4-nommu-nofpu  |         |
  |               |           |           |         |
  | .------------'|`----------+---------. |         |
  |/                         /           \|         |
  |               | .-------'             |         |
  |               |/                      |         |
SH3-dsp         SH4-nofpu               SH3E       |
  |               |`--------------------. |         |
  |               |                      \|         |
  |              SH4A-nofpu              SH4        |
  | .------------' `--------------------. |         |
  |/                                     \|         |
SH4AL-dsp                               SH4A       |
                                          .         |
					 ......... |
					         . |
					         SH2A-no-fpu
                                                    |
                                                  SH2A
-----------------------------------------------------------------------

What do you think ?

Cheers
   Nick



More information about the Binutils mailing list