aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/dis-buf.c11
-rw-r--r--opcodes/i386-dis.c21
-rw-r--r--opcodes/ia64-gen.c20
-rw-r--r--opcodes/m68k-dis.c10
-rw-r--r--opcodes/ns32k-dis.c5
5 files changed, 17 insertions, 50 deletions
diff --git a/opcodes/dis-buf.c b/opcodes/dis-buf.c
index 3bd078f..56a57f9 100644
--- a/opcodes/dis-buf.c
+++ b/opcodes/dis-buf.c
@@ -61,13 +61,11 @@ perror_memory (int status,
info->fprintf_func (info->stream, _("Unknown error %d\n"), status);
else
{
- char buf[30];
-
/* Actually, address between memaddr and memaddr + len was
out of bounds. */
- sprintf_vma (buf, memaddr);
info->fprintf_func (info->stream,
- _("Address 0x%s is out of bounds.\n"), buf);
+ _("Address 0x%" PRIx64 " is out of bounds.\n"),
+ (uint64_t) memaddr);
}
}
@@ -81,10 +79,7 @@ perror_memory (int status,
void
generic_print_address (bfd_vma addr, struct disassemble_info *info)
{
- char buf[30];
-
- sprintf_vma (buf, addr);
- (*info->fprintf_func) (info->stream, "0x%s", buf);
+ (*info->fprintf_func) (info->stream, "0x%08" PRIx64, (uint64_t) addr);
}
/* Just return NULL. */
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index de97936..1761df5 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -10973,18 +10973,12 @@ print_operand_value (instr_info *ins, bfd_vma disp,
enum disassembler_style style)
{
char tmp[30];
- unsigned int i = 0;
if (ins->address_mode == mode_64bit)
- {
- oappend_with_style (ins, "0x", style);
- sprintf_vma (tmp, disp);
- while (tmp[i] == '0' && tmp[i + 1])
- ++i;
- }
+ sprintf (tmp, "0x%" PRIx64, (uint64_t) disp);
else
sprintf (tmp, "0x%x", (unsigned int) disp);
- oappend_with_style (ins, tmp + i, style);
+ oappend_with_style (ins, tmp, style);
}
/* Like oappend, but called for immediate operands. */
@@ -11004,7 +10998,6 @@ print_displacement (instr_info *ins, bfd_vma disp)
{
bfd_signed_vma val = disp;
char tmp[30];
- unsigned int i;
if (val < 0)
{
@@ -11033,14 +11026,8 @@ print_displacement (instr_info *ins, bfd_vma disp)
}
}
- oappend_with_style (ins, "0x", dis_style_address_offset);
-
- sprintf_vma (tmp, (bfd_vma) val);
- for (i = 0; tmp[i] == '0'; i++)
- continue;
- if (tmp[i] == '\0')
- i--;
- oappend_with_style (ins, tmp + i, dis_style_address_offset);
+ sprintf (tmp, "0x%" PRIx64, (int64_t) val);
+ oappend_with_style (ins, tmp, dis_style_address_offset);
}
static void
diff --git a/opcodes/ia64-gen.c b/opcodes/ia64-gen.c
index a996bcd..9acb078 100644
--- a/opcodes/ia64-gen.c
+++ b/opcodes/ia64-gen.c
@@ -53,15 +53,6 @@
#include <libintl.h>
#define _(String) gettext (String)
-/* This is a copy of fprintf_vma from bfd/bfd-in2.h. We have to use this
- always, because we might be compiled without BFD64 defined, if configured
- for a 32-bit target and --enable-targets=all is used. This will work for
- both 32-bit and 64-bit hosts. */
-#define _opcode_int64_low(x) ((unsigned long) (((x) & 0xffffffff)))
-#define _opcode_int64_high(x) ((unsigned long) (((x) >> 32) & 0xffffffff))
-#define opcode_fprintf_vma(s,x) \
- fprintf ((s), "%08lx%08lx", _opcode_int64_high (x), _opcode_int64_low (x))
-
const char * program_name = NULL;
int debug = 0;
@@ -2711,14 +2702,13 @@ print_main_table (void)
printf ("static const struct ia64_main_table\nmain_table[] = {\n");
while (ptr != NULL)
{
- printf (" { %d, %d, %d, 0x",
+ printf (" { %d, %d, %d, 0x%016" PRIx64 "ull, 0x%016" PRIx64
+ "ull, { %d, %d, %d, %d, %d }, 0x%x, %d, },\n",
ptr->name->num,
ptr->opcode->type,
- ptr->opcode->num_outputs);
- opcode_fprintf_vma (stdout, ptr->opcode->opcode);
- printf ("ull, 0x");
- opcode_fprintf_vma (stdout, ptr->opcode->mask);
- printf ("ull, { %d, %d, %d, %d, %d }, 0x%x, %d, },\n",
+ ptr->opcode->num_outputs,
+ ptr->opcode->opcode,
+ ptr->opcode->mask,
ptr->opcode->operands[0],
ptr->opcode->operands[1],
ptr->opcode->operands[2],
diff --git a/opcodes/m68k-dis.c b/opcodes/m68k-dis.c
index 963e1bf..55038d4 100644
--- a/opcodes/m68k-dis.c
+++ b/opcodes/m68k-dis.c
@@ -515,17 +515,13 @@ print_base (int regno, bfd_vma disp, disassemble_info *info)
}
else
{
- char buf[50];
-
if (regno == -2)
(*info->fprintf_func) (info->stream, "@(");
else if (regno == -3)
(*info->fprintf_func) (info->stream, "%%zpc@(");
else
(*info->fprintf_func) (info->stream, "%s@(", reg_names[regno]);
-
- sprintf_vma (buf, disp);
- (*info->fprintf_func) (info->stream, "%s", buf);
+ (*info->fprintf_func) (info->stream, "%" PRIx64, (uint64_t) disp);
}
}
@@ -545,7 +541,6 @@ print_indexed (int basereg,
bfd_vma base_disp;
bfd_vma outer_disp;
char buf[40];
- char vmabuf[50];
NEXTWORD (p, word, NULL);
@@ -620,8 +615,7 @@ print_indexed (int basereg,
(*info->fprintf_func) (info->stream, ",%s", buf);
buf[0] = '\0';
}
- sprintf_vma (vmabuf, outer_disp);
- (*info->fprintf_func) (info->stream, ")@(%s", vmabuf);
+ (*info->fprintf_func) (info->stream, ")@(%" PRIx64, (uint64_t) outer_disp);
if (buf[0] != '\0')
(*info->fprintf_func) (info->stream, ",%s", buf);
(*info->fprintf_func) (info->stream, ")");
diff --git a/opcodes/ns32k-dis.c b/opcodes/ns32k-dis.c
index a8509ab..46e467d 100644
--- a/opcodes/ns32k-dis.c
+++ b/opcodes/ns32k-dis.c
@@ -606,7 +606,7 @@ print_insn_arg (int d,
/* Memory space disp(PC). */
disp1 = get_displacement (buffer, aoffsetp);
*result++ = NEXT_IS_ADDR;
- sprintf_vma (result, addr + disp1);
+ sprintf (result, "%" PRIx64, (uint64_t) (addr + disp1));
result += strlen (result);
*result++ = NEXT_IS_ADDR;
*result = '\0';
@@ -665,7 +665,8 @@ print_insn_arg (int d,
break;
case 'p':
*result++ = NEXT_IS_ADDR;
- sprintf_vma (result, addr + get_displacement (buffer, aoffsetp));
+ sprintf (result, "%" PRIx64,
+ (uint64_t) (addr + get_displacement (buffer, aoffsetp)));
result += strlen (result);
*result++ = NEXT_IS_ADDR;
*result = '\0';