/* itbl-ops.c
- Copyright 1997, 1999, 2000, 2001, 2002, 2003, 2005, 2006
- Free Software Foundation, Inc.
+ Copyright 1997, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007,
+ 2009 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
GAS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
+ the Free Software Foundation; either version 3, or (at your option)
any later version.
GAS is distributed in the hope that it will be useful,
{
struct itbl_entry *r;
unsigned long value;
+ char s_value[20];
if (f == e->fields) /* First operand is preceded by tab. */
strcat (s, "\t");
if (r)
strcat (s, r->name);
else
- sprintf (s, "%s$%lu", s, value);
+ {
+ sprintf (s_value, "$%lu", value);
+ strcat (s, s_value);
+ }
break;
case e_addr:
/* Use assembler's symbol table to find symbol. */
/* FIXME!! Do we need this? If so, what about relocs?? */
/* If not a symbol, fall through to IMMED. */
case e_immed:
- sprintf (s, "%s0x%lx", s, value);
+ sprintf (s_value, "0x%lx", value);
+ strcat (s, s_value);
break;
default:
return 0; /* error; invalid field spec */