This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Broken SH2a patches
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