diff options
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-cr16.c | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 96c78092a04..7aba149af9c 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,11 @@ 2020-05-25 H.J. Lu <hongjiu.lu@intel.com> + PR gas/26041 + * config/tc-cr16.c (md_assemble): Use memmove to concatenate + 2 overlapping strings. + +2020-05-25 H.J. Lu <hongjiu.lu@intel.com> + * config/tc-cr16.c (md_convert_frag): Replace fragP->fr_literal with &fragP->fr_literal[0]. diff --git a/gas/config/tc-cr16.c b/gas/config/tc-cr16.c index 901838398ec..951e9ac7f38 100644 --- a/gas/config/tc-cr16.c +++ b/gas/config/tc-cr16.c @@ -2560,8 +2560,11 @@ md_assemble (char *op) if (streq ("cinv", op)) { /* Validate the cinv options. */ + unsigned int op_len, param_len; check_cinv_options (param); - strcat (op, param); + op_len = strlen (op); + param_len = strlen (param) + 1; + memmove (op + op_len, param, param_len); } /* MAPPING - SHIFT INSN, if imm4/imm16 positive values |