make microblaze build with -Wwrite-strings

frag_var () assigns its last argument to frag::fr_opcode, and it turns out
some targets modify the string that points to.  However it appears niether the
generic code or the microblaze code modifies what fr_opcode points to, so this
code should be safe.  So we unfortunately need to cast to char * when passing
an argument to frag_var () but otherwise microblaze can itself point to these
strings with const char *.

gas/ChangeLog:

2016-03-24  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>

	* config/tc-microblaze.c (md_assemble): Cast opc to char * when calling
	frag_var ().
This commit is contained in:
Trevor Saunders 2016-03-19 21:48:07 -04:00
parent eda6e9a4a2
commit e742e119e1
2 changed files with 9 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2016-03-24 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-microblaze.c (md_assemble): Cast opc to char * when calling
frag_var ().
2016-03-24 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-visium.c (md_atof): Localize the string returned on

View File

@ -840,8 +840,8 @@ parse_cons_expression_microblaze (expressionS *exp, int size)
machine dependent instruction. This function is supposed to emit
the frags/bytes it assembles to. */
static char * str_microblaze_ro_anchor = "RO";
static char * str_microblaze_rw_anchor = "RW";
static const char * str_microblaze_ro_anchor = "RO";
static const char * str_microblaze_rw_anchor = "RW";
static bfd_boolean
check_spl_reg (unsigned * reg)
@ -1014,7 +1014,7 @@ md_assemble (char * str)
if (exp.X_op != O_constant)
{
char *opc;
const char *opc;
relax_substateT subtype;
if (streq (name, "lmi"))
@ -1039,7 +1039,7 @@ md_assemble (char * str)
subtype, /* PC-relative or not. */
exp.X_add_symbol,
exp.X_add_number,
opc);
(char *) opc);
immed = 0;
}
else