diff options
Diffstat (limited to 'recipes-devtools/binutils/files/0011-77625f8c77d14a67bc542bb790e6f826c725de4c.patch')
| -rw-r--r-- | recipes-devtools/binutils/files/0011-77625f8c77d14a67bc542bb790e6f826c725de4c.patch | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/recipes-devtools/binutils/files/0011-77625f8c77d14a67bc542bb790e6f826c725de4c.patch b/recipes-devtools/binutils/files/0011-77625f8c77d14a67bc542bb790e6f826c725de4c.patch new file mode 100644 index 00000000..60205e53 --- /dev/null +++ b/recipes-devtools/binutils/files/0011-77625f8c77d14a67bc542bb790e6f826c725de4c.patch | |||
| @@ -0,0 +1,89 @@ | |||
| 1 | From 77625f8c77d14a67bc542bb790e6f826c725de4c Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Michael Eager <eager@eagercon.com> | ||
| 3 | Date: Thu, 29 Nov 2012 21:08:59 +0000 | ||
| 4 | Subject: opcodes/Changelog: * microblaze-opc.h: Rename | ||
| 5 | INST_TYPE_RD_R1_SPECIAL to INST_TYPE_R1_R2_SPECIAL * | ||
| 6 | microblaze-dis.c (print_insn_microblaze): Same. gas/Changelog * | ||
| 7 | gas/config/tc-microblaze.c: Rename INST_TYPE_RD_R1_SPECIAL to | ||
| 8 | INST_TYPE_R1_R2_SPECIAL, don't set RD for wic. | ||
| 9 | |||
| 10 | Upstream-Status: Backport | ||
| 11 | |||
| 12 | diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c | ||
| 13 | index 5a427a0..e9c7846 100644 | ||
| 14 | --- a/gas/config/tc-microblaze.c | ||
| 15 | +++ b/gas/config/tc-microblaze.c | ||
| 16 | @@ -1358,16 +1358,16 @@ md_assemble (char * str) | ||
| 17 | output = frag_more (isize); | ||
| 18 | break; | ||
| 19 | |||
| 20 | - case INST_TYPE_RD_R1_SPECIAL: | ||
| 21 | + case INST_TYPE_R1_R2_SPECIAL: | ||
| 22 | if (strcmp (op_end, "")) | ||
| 23 | - op_end = parse_reg (op_end + 1, ®1); /* Get rd. */ | ||
| 24 | + op_end = parse_reg (op_end + 1, ®1); /* Get r1. */ | ||
| 25 | else | ||
| 26 | { | ||
| 27 | as_fatal (_("Error in statement syntax")); | ||
| 28 | reg1 = 0; | ||
| 29 | } | ||
| 30 | if (strcmp (op_end, "")) | ||
| 31 | - op_end = parse_reg (op_end + 1, ®2); /* Get r1. */ | ||
| 32 | + op_end = parse_reg (op_end + 1, ®2); /* Get r2. */ | ||
| 33 | else | ||
| 34 | { | ||
| 35 | as_fatal (_("Error in statement syntax")); | ||
| 36 | @@ -1381,7 +1381,6 @@ md_assemble (char * str) | ||
| 37 | as_fatal (_("Cannot use special register with this instruction")); | ||
| 38 | |||
| 39 | /* insn wic ra, rb => wic ra, ra, rb. */ | ||
| 40 | - inst |= (reg1 << RD_LOW) & RD_MASK; | ||
| 41 | inst |= (reg1 << RA_LOW) & RA_MASK; | ||
| 42 | inst |= (reg2 << RB_LOW) & RB_MASK; | ||
| 43 | |||
| 44 | diff --git a/opcodes/microblaze-dis.c b/opcodes/microblaze-dis.c | ||
| 45 | index 7e3a546..bf028c4 100644 | ||
| 46 | --- a/opcodes/microblaze-dis.c | ||
| 47 | +++ b/opcodes/microblaze-dis.c | ||
| 48 | @@ -383,8 +383,8 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info) | ||
| 49 | case INST_TYPE_R1: | ||
| 50 | print_func (stream, "\t%s", get_field_r1 (inst)); | ||
| 51 | break; | ||
| 52 | - case INST_TYPE_RD_R1_SPECIAL: | ||
| 53 | - print_func (stream, "\t%s, %s", get_field_rd (inst), get_field_r2 (inst)); | ||
| 54 | + case INST_TYPE_R1_R2_SPECIAL: | ||
| 55 | + print_func (stream, "\t%s, %s", get_field_r1 (inst), get_field_r2 (inst)); | ||
| 56 | break; | ||
| 57 | case INST_TYPE_RD_IMM15: | ||
| 58 | print_func (stream, "\t%s, %s", get_field_rd (inst), get_field_imm15 (inst)); | ||
| 59 | diff --git a/opcodes/microblaze-opc.h b/opcodes/microblaze-opc.h | ||
| 60 | index 404985b..e9da12a 100644 | ||
| 61 | --- a/opcodes/microblaze-opc.h | ||
| 62 | +++ b/opcodes/microblaze-opc.h | ||
| 63 | @@ -45,7 +45,7 @@ | ||
| 64 | #define INST_TYPE_R1_RFSL 15 | ||
| 65 | |||
| 66 | /* New insn type for insn cache. */ | ||
| 67 | -#define INST_TYPE_RD_R1_SPECIAL 16 | ||
| 68 | +#define INST_TYPE_R1_R2_SPECIAL 16 | ||
| 69 | |||
| 70 | /* New insn type for msrclr, msrset insns. */ | ||
| 71 | #define INST_TYPE_RD_IMM15 17 | ||
| 72 | @@ -171,10 +171,10 @@ struct op_code_struct | ||
| 73 | {"srl", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000041, OPCODE_MASK_H34, srl, logical_inst }, | ||
| 74 | {"sext8", INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000060, OPCODE_MASK_H34, sext8, logical_inst }, | ||
| 75 | {"sext16",INST_TYPE_RD_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000061, OPCODE_MASK_H34, sext16, logical_inst }, | ||
| 76 | - {"wic", INST_TYPE_RD_R1_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000068, OPCODE_MASK_H34B, wic, special_inst }, | ||
| 77 | - {"wdc", INST_TYPE_RD_R1_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000064, OPCODE_MASK_H34B, wdc, special_inst }, | ||
| 78 | - {"wdc.clear", INST_TYPE_RD_R1_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000066, OPCODE_MASK_H34B, wdcclear, special_inst }, | ||
| 79 | - {"wdc.flush", INST_TYPE_RD_R1_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000074, OPCODE_MASK_H34B, wdcflush, special_inst }, | ||
| 80 | + {"wic", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000068, OPCODE_MASK_H34B, wic, special_inst }, | ||
| 81 | + {"wdc", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000064, OPCODE_MASK_H34B, wdc, special_inst }, | ||
| 82 | + {"wdc.clear", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000066, OPCODE_MASK_H34B, wdcclear, special_inst }, | ||
| 83 | + {"wdc.flush", INST_TYPE_R1_R2_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x90000074, OPCODE_MASK_H34B, wdcflush, special_inst }, | ||
| 84 | {"mts", INST_TYPE_SPECIAL_R1, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MTS, 0x9400C000, OPCODE_MASK_H13S, mts, special_inst }, | ||
| 85 | {"mfs", INST_TYPE_RD_SPECIAL, INST_NO_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_MFS, 0x94008000, OPCODE_MASK_H23S, mfs, special_inst }, | ||
| 86 | {"br", INST_TYPE_R2, INST_PC_OFFSET, NO_DELAY_SLOT, IMMVAL_MASK_NON_SPECIAL, 0x98000000, OPCODE_MASK_H124, br, branch_inst }, | ||
| 87 | -- | ||
| 88 | 1.7.5.4 | ||
| 89 | |||
