[PATCH 2/7] work around get_symbol_name () in sparc and ia64
tbsaunde+binutils@tbsaunde.org
tbsaunde+binutils@tbsaunde.org
Wed Mar 30 01:08:00 GMT 2016
From: Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
get_symbol_name () returns a char * in a out arg, which means we need to cast
to assign a literal to the variable passed to get_symbol_name (). It seems
like better APIs than get_symbol_name () could be provided, but that seems like
a fair amount of work so just casting seems to be the betterthing to do for
now.
gas/ChangeLog:
2016-03-29 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
* config/tc-ia64.c (md_assemble): Add temporary variable to pass to
get_symbol_name ().
* config/tc-sparc.c (s_register): Cast a literal to char * in
assignment.
---
gas/config/tc-ia64.c | 6 ++++--
gas/config/tc-sparc.c | 2 +-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c
index 85f6095..a50b61e 100644
--- a/gas/config/tc-ia64.c
+++ b/gas/config/tc-ia64.c
@@ -10667,7 +10667,8 @@ check_dv (struct ia64_opcode *idesc)
void
md_assemble (char *str)
{
- char *saved_input_line_pointer, *mnemonic;
+ char *saved_input_line_pointer, *temp;
+ const char *mnemonic;
const struct pseudo_opcode *pdesc;
struct ia64_opcode *idesc;
unsigned char qp_regno;
@@ -10679,7 +10680,8 @@ md_assemble (char *str)
/* extract the opcode (mnemonic): */
- ch = get_symbol_name (&mnemonic);
+ ch = get_symbol_name (&temp);
+ mnemonic = temp;
pdesc = (struct pseudo_opcode *) hash_find (md.pseudo_hash, mnemonic);
if (pdesc)
{
diff --git a/gas/config/tc-sparc.c b/gas/config/tc-sparc.c
index 6f2de4d..9f30d3a 100644
--- a/gas/config/tc-sparc.c
+++ b/gas/config/tc-sparc.c
@@ -4413,7 +4413,7 @@ s_register (int ignore ATTRIBUTE_UNUSED)
if (regname[0] == 'i')
regname = NULL;
else
- regname = "";
+ regname = (char *) "";
}
else
{
--
2.1.4
More information about the Binutils
mailing list