Broken SH2a patches
Andrew STUBBS
andrew.stubbs@st.com
Thu Jan 6 11:28:00 GMT 2005
There appears to be another mistake in the inheritance. The SH4 descends
from the SH2A-nofpu which can't be right.
Here is a corrected tree:
SH1
|
SH2
.------------'|`--------------------------------.
/ | \
SH-DSP SH3-nommu/SH2A-nofpu SH2E
| | |`--------------------. |
| | | \|
| SH3-nommu SH4-nm-nf/SH2A-nofpu SH3E/SH2A
| |\ | | | |
| | `------. | SH2A-nofpu | SH4/SH2A
| | \| \ | | |
| SH3 SH4-nommu-nofpu `---------+--. | |
| /|\ | | \| |
| .-----------' | `--------+---------------------. | SH2A |
|/ | / \| |
| | .-------' | |
| |/ | |
SH3-dsp SH4-nofpu SH3E |
| |`-------------------------------. | .-----'
| | \|/
| SH4A-nofpu SH4
| .------------' `-------------------------------. |
|/ \|
SH4AL-dsp SH4A
*/
/* Central branches. */
#define arch_sh1_up (arch_sh1 \
| arch_sh2_up)
#define arch_sh2_up (arch_sh2 \
| arch_sh2e_up \
| arch_sh2a_nofpu_or_sh3_nommu_up \
| arch_sh_dsp_up)
#define arch_sh2a_nofpu_or_sh3_nommu_up (arch_sh2a_nofpu_or_sh3_nommu
\
| arch_sh2a_nofpu_or_sh4_nommu_nofpu_up \
| arch_sh2a_or_sh3e_up \
| arch_sh3_nommu_up)
#define arch_sh2a_nofpu_or_sh4_nommu_nofpu_up
(arch_sh2a_nofpu_or_sh4_nommu_nofpu \
| arch_sh2a_nofpu_up \
| arch_sh4_nommu_nofpu_up)
#define arch_sh2a_nofpu_up (arch_sh2a_nofpu \
| arch_sh2a_up)
#define arch_sh3_nommu_up (arch_sh3_nommu \
| arch_sh3_up \
| arch_sh4_nommu_nofpu_up)
#define arch_sh3_up (arch_sh3 \
| arch_sh3e_up \
| arch_sh3_dsp_up \
| arch_sh4_nofp_up)
#define arch_sh4_nommu_nofpu_up (arch_sh4_nommu_nofpu \
| arch_sh4_nofp_up)
#define arch_sh4_nofp_up (arch_sh4_nofpu \
| arch_sh4_up \
| arch_sh4a_nofp_up)
#define arch_sh4a_nofp_up (arch_sh4a_nofpu \
| arch_sh4a_up \
| arch_sh4al_dsp_up)
/* Right branches. */
#define arch_sh2e_up (arch_sh2e \
| arch_sh2a_or_sh3e_up)
#define arch_sh2a_or_sh3e_up (arch_sh2a_or_sh3e \
| arch_sh2a_or_sh4_up \
| arch_sh3e_up)
#define arch_sh2a_or_sh4_up (arch_sh2a_or_sh4 \
| arch_sh2a_up \
| arch_sh4_up)
#define arch_sh2a_up (arch_sh2a)
#define arch_sh3e_up (arch_sh3e \
| arch_sh4_up)
#define arch_sh4_up (arch_sh4 \
| arch_sh4a_up)
#define arch_sh4a_up (arch_sh4a)
/* Left branch. */
#define arch_sh_dsp_up (arch_sh_dsp \
| arch_sh3_dsp_up)
#define arch_sh3_dsp_up (arch_sh3_dsp \
| arch_sh4al_dsp_up)
#define arch_sh4al_dsp_up (arch_sh4al_dsp)
--
Andrew Stubbs
andrew.stubbs@st.com
andrew.stubbs@superh.com
More information about the Binutils
mailing list