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