]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gas: Fix ip2k-elf and xstormy16-elf build
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 4 Jun 2020 18:15:06 +0000 (11:15 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 4 Jun 2020 18:15:06 +0000 (11:15 -0700)
Fix ip2k-elf and xstormy16-elf build due to

commit e9bffec9afc45cf7c49308f0b4b8cc6bf68f58f2
Author: Jose E. Marchesi <jose.marchesi@oracle.com>
Date:   Thu Jun 4 16:15:53 2020 +0200

    opcodes: discriminate endianness and insn-endianness in CGEN ports

* config/tc-ip2k. (ip2k_apply_fix): Pass endianness to
cgen_get_insn_value.
* config/tc-xstormy16.c (xstormy16_md_apply_fix): Pass
endianness to cgen_get_insn_value and cgen_put_insn_value.

gas/ChangeLog
gas/config/tc-ip2k.c
gas/config/tc-xstormy16.c

index 1c072e9c402696ff6af07e19d0070d6343de27c8..19cefba5e628b7d5501b9a106d1dac8dce5a6003 100644 (file)
@@ -1,3 +1,10 @@
+2020-06-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/tc-ip2k. (ip2k_apply_fix): Pass endianness to
+       cgen_get_insn_value.
+       * config/tc-xstormy16.c (xstormy16_md_apply_fix): Pass
+       endianness to cgen_get_insn_value and cgen_put_insn_value.
+
 2020-06-04  Jose E. Marchesi  <jose.marchesi@oracle.com>
 
        * config/tc-bpf.c (md_apply_fix): Simplify and avoid using
index 75cd61b01deefd81b2ffdc3eb5193d629526ce53..665cdc06360ef933827dd3e99fb8826cdebfc814 100644 (file)
@@ -385,7 +385,8 @@ ip2k_apply_fix (fixS *fixP, valueT *valueP, segT seg)
       CGEN_CPU_DESC cd = gas_cgen_cpu_desc;
       CGEN_INSN_INT insn_value
        = cgen_get_insn_value (cd, (unsigned char *) where,
-                              CGEN_INSN_BITSIZE (fixP->fx_cgen.insn));
+                              CGEN_INSN_BITSIZE (fixP->fx_cgen.insn),
+                              gas_cgen_cpu_desc->insn_endian);
       /* Preserve (DP) or (SP) specification.  */
       *valueP += (insn_value & 0x180);
     }
index c2bab0d9657788c1157a61ef94e3463f66ae734d..6bb5f2a3f0c5e041f1d94039f62db5aeb21a62ef 100644 (file)
@@ -502,13 +502,15 @@ xstormy16_md_apply_fix (fixS *   fixP,
          {
            CGEN_INSN_INT insn_value =
              cgen_get_insn_value (cd, (unsigned char *) where,
-                                  CGEN_INSN_BITSIZE (insn));
+                                  CGEN_INSN_BITSIZE (insn),
+                                  gas_cgen_cpu_desc->insn_endian);
 
            /* ??? 0 is passed for `pc'.  */
            errmsg = CGEN_CPU_INSERT_OPERAND (cd) (cd, opindex, fields,
                                                   &insn_value, (bfd_vma) 0);
            cgen_put_insn_value (cd, (unsigned char *) where,
-                                CGEN_INSN_BITSIZE (insn), insn_value);
+                                CGEN_INSN_BITSIZE (insn), insn_value,
+                                gas_cgen_cpu_desc->insn_endian);
          }
 #else
          /* ??? 0 is passed for `pc'.  */