* mcore-dis.c: Fix formatting.

* mips-dis.c: Likewise.
	* pj-dis.c: Likewise.
	* z8k-dis.c: Likewise.
This commit is contained in:
Kazu Hirata 2001-08-13 08:09:58 +00:00
parent 198ce79b6b
commit 7f6621cdd7
5 changed files with 119 additions and 117 deletions

View File

@ -1,3 +1,10 @@
2001-08-13 Kazu Hirata <kazu@hxi.com>
* mcore-dis.c: Fix formatting.
* mips-dis.c: Likewise.
* pj-dis.c: Likewise.
* z8k-dis.c: Likewise.
2001-08-12 Richard Henderson <rth@redhat.com>
* cgen-ibld.in (extract_normal): Match type of VALUE and MASK

View File

@ -24,8 +24,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "dis-asm.h"
/* Mask for each mcore_opclass: */
static const unsigned short imsk[] =
{
static const unsigned short imsk[] = {
/* O0 */ 0xFFFF,
/* OT */ 0xFFFC,
/* O1 */ 0xFFF0,
@ -66,19 +65,17 @@ static const unsigned short imsk[] =
/* JL */ 0,
/* RSI */ 0,
/* DO21*/ 0,
/* OB2 */ 0 /* OB2 won't appear in object. */
/* OB2 */ 0 /* OB2 won't appear in object. */
};
static const char * grname[] =
{
static const char *grname[] = {
"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
"r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15"
};
static const char X[] = "??";
static const char * crname[] =
{
static const char *crname[] = {
"psr", "vbr", "epsr", "fpsr", "epc", "fpc", "ss0", "ss1",
"ss2", "ss3", "ss4", "gcr", "gsr", X, X, X,
X, X, X, X, X, X, X, X,
@ -90,7 +87,7 @@ static const unsigned isiz[] = { 2, 0, 1, 0 };
int
print_insn_mcore (memaddr, info)
bfd_vma memaddr;
struct disassemble_info * info;
struct disassemble_info *info;
{
unsigned char ibytes[4];
fprintf_ftype fprintf = info->fprintf_func;
@ -117,7 +114,7 @@ print_insn_mcore (memaddr, info)
abort ();
/* Just a linear search of the table. */
for (op = mcore_table; op->name != 0; op ++)
for (op = mcore_table; op->name != 0; op++)
if (op->inst == (inst & imsk[op->opclass]))
break;
@ -125,7 +122,7 @@ print_insn_mcore (memaddr, info)
fprintf (stream, ".short 0x%04x", inst);
else
{
const char * name = grname[inst & 0x0F];
const char *name = grname[inst & 0x0F];
fprintf (stream, "%s", op->name);
@ -165,7 +162,7 @@ print_insn_mcore (memaddr, info)
if (inst & 0x400)
val |= 0xFFFFFC00;
fprintf (stream, "\t0x%x", memaddr + 2 + (val<<1));
fprintf (stream, "\t0x%x", memaddr + 2 + (val << 1));
if (strcmp (op->name, "bsr") == 0)
{
@ -186,7 +183,7 @@ print_insn_mcore (memaddr, info)
long val;
val = (inst & 0x000F);
fprintf (stream, "\t%s, 0x%x",
grname[(inst >> 4) & 0xF], memaddr - (val << 1));
grname[(inst >> 4) & 0xF], memaddr - (val << 1));
}
break;
@ -257,8 +254,7 @@ print_insn_mcore (memaddr, info)
case OPSR:
{
static char * fields[] =
{
static char *fields[] = {
"af", "ie", "fe", "fe,ie",
"ee", "ee,ie", "ee,fe", "ee,fe,ie"
};

View File

@ -28,7 +28,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* FIXME: These are needed to figure out if the code is mips16 or
not. The low bit of the address is often a good indicator. No
symbol table is available when this code runs out in an embedded
system as when it is used for disassembler support in a monitor. */
system as when it is used for disassembler support in a monitor. */
#if !defined(EMBEDDED_ENV)
#define SYMTAB_AVAILABLE 1
@ -54,13 +54,11 @@ static void print_mips16_insn_arg
/* FIXME: These should be shared with gdb somehow. */
/* The mips16 register names. */
static const char * const mips16_reg_names[] =
{
static const char * const mips16_reg_names[] = {
"s0", "s1", "v0", "v1", "a0", "a1", "a2", "a3"
};
static const char * const mips32_reg_names[] =
{
static const char * const mips32_reg_names[] = {
"zero", "at", "v0", "v1", "a0", "a1", "a2", "a3",
"t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7",
"s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7",
@ -74,8 +72,7 @@ static const char * const mips32_reg_names[] =
"epc", "prid"
};
static const char * const mips64_reg_names[] =
{
static const char * const mips64_reg_names[] = {
"zero", "at", "v0", "v1", "a0", "a1", "a2", "a3",
"a4", "a5", "a6", "a7", "t0", "t1", "t2", "t3",
"s0", "s1", "s2", "s3", "s4", "s5", "s6", "s7",
@ -93,7 +90,7 @@ static const char * const mips64_reg_names[] =
table to use. */
static const char * const *reg_names = NULL;
/* Print insn arguments for 32/64-bit code */
/* Print insn arguments for 32/64-bit code. */
static void
print_insn_arg (d, l, pc, info)
@ -129,10 +126,10 @@ print_insn_arg (d, l, pc, info)
case 'i':
case 'u':
(*info->fprintf_func) (info->stream, "0x%x",
(l >> OP_SH_IMMEDIATE) & OP_MASK_IMMEDIATE);
(l >> OP_SH_IMMEDIATE) & OP_MASK_IMMEDIATE);
break;
case 'j': /* same as i, but sign-extended */
case 'j': /* Same as i, but sign-extended. */
case 'o':
delta = (l >> OP_SH_DELTA) & OP_MASK_DELTA;
if (delta & 0x8000)
@ -155,13 +152,13 @@ print_insn_arg (d, l, pc, info)
case 'a':
(*info->print_address_func)
((((pc + 4) & ~ (bfd_vma) 0x0fffffff)
((((pc + 4) & ~(bfd_vma) 0x0fffffff)
| (((l >> OP_SH_TARGET) & OP_MASK_TARGET) << 2)),
info);
break;
case 'p':
/* sign extend the displacement */
/* Sign extend the displacement. */
delta = (l >> OP_SH_DELTA) & OP_MASK_DELTA;
if (delta & 0x8000)
delta |= ~0xffff;
@ -177,25 +174,25 @@ print_insn_arg (d, l, pc, info)
case 'U':
{
/* First check for both rd and rt being equal. */
unsigned int reg = (l >> OP_SH_RD) & OP_MASK_RD;
if (reg == ((l >> OP_SH_RT) & OP_MASK_RT))
(*info->fprintf_func) (info->stream, "%s",
reg_names[reg]);
else
{
/* If one is zero use the other. */
if (reg == 0)
(*info->fprintf_func) (info->stream, "%s",
reg_names[(l >> OP_SH_RT) & OP_MASK_RT]);
else if (((l >> OP_SH_RT) & OP_MASK_RT) == 0)
(*info->fprintf_func) (info->stream, "%s",
reg_names[reg]);
else /* Bogus, result depends on processor. */
(*info->fprintf_func) (info->stream, "%s or %s",
reg_names[reg],
reg_names[(l >> OP_SH_RT) & OP_MASK_RT]);
}
/* First check for both rd and rt being equal. */
unsigned int reg = (l >> OP_SH_RD) & OP_MASK_RD;
if (reg == ((l >> OP_SH_RT) & OP_MASK_RT))
(*info->fprintf_func) (info->stream, "%s",
reg_names[reg]);
else
{
/* If one is zero use the other. */
if (reg == 0)
(*info->fprintf_func) (info->stream, "%s",
reg_names[(l >> OP_SH_RT) & OP_MASK_RT]);
else if (((l >> OP_SH_RT) & OP_MASK_RT) == 0)
(*info->fprintf_func) (info->stream, "%s",
reg_names[reg]);
else /* Bogus, result depends on processor. */
(*info->fprintf_func) (info->stream, "%s or %s",
reg_names[reg],
reg_names[(l >> OP_SH_RT) & OP_MASK_RT]);
}
}
break;
@ -294,7 +291,7 @@ print_insn_arg (d, l, pc, info)
}
}
/* Figure out the MIPS ISA and CPU based on the machine number. */
/* Figure out the MIPS ISA and CPU based on the machine number. */
static void
mips_isa_type (mach, isa, cputype)
@ -398,7 +395,7 @@ mips_isa_type (mach, isa, cputype)
/* Check if the object uses NewABI conventions. */
static int
is_newabi(header)
is_newabi (header)
Elf_Internal_Ehdr *header;
{
if ((header->e_flags
@ -443,7 +440,7 @@ print_insn_mips (memaddr, word, info)
break;
}
}
}
}
init = 1;
}
@ -477,9 +474,9 @@ print_insn_mips (memaddr, word, info)
d = op->args;
if (d != NULL && *d != '\0')
{
(*info->fprintf_func) (info->stream, "\t");
(*info->fprintf_func) (info->stream, "\t");
for (; *d != '\0'; d++)
print_insn_arg (d, word, memaddr, info);
print_insn_arg (d, word, memaddr, info);
}
return INSNLEN;
@ -530,8 +527,8 @@ _print_insn_mips (memaddr, info, endianness)
{
Elf_Internal_Ehdr *header;
header = elf_elfheader(bfd_asymbol_bfd(*(info->symbols)));
if (is_newabi(header))
header = elf_elfheader (bfd_asymbol_bfd (*(info->symbols)));
if (is_newabi (header))
reg_names = mips64_reg_names;
}
@ -541,7 +538,7 @@ _print_insn_mips (memaddr, info, endianness)
unsigned long insn;
if (endianness == BFD_ENDIAN_BIG)
insn = (unsigned long) bfd_getb32 (buffer);
insn = (unsigned long) bfd_getb32 (buffer);
else
insn = (unsigned long) bfd_getl32 (buffer);
@ -791,7 +788,7 @@ print_mips16_insn_arg (type, op, l, use_extend, extend, memaddr, info)
case 'X':
(*info->fprintf_func) (info->stream, "%s",
mips32_reg_names[((l >> MIPS16OP_SH_REGR32)
& MIPS16OP_MASK_REGR32)]);
& MIPS16OP_MASK_REGR32)]);
break;
case 'Y':
@ -1051,7 +1048,7 @@ print_mips16_insn_arg (type, op, l, use_extend, extend, memaddr, info)
baseaddr = memaddr - 2;
}
}
val = (baseaddr & ~ ((1 << shift) - 1)) + immed;
val = (baseaddr & ~((1 << shift) - 1)) + immed;
(*info->print_address_func) (val, info);
info->target = val;
}

View File

@ -1,5 +1,5 @@
/* pj-dis.c -- Disassemble picoJava instructions.
Copyright 1999, 2000 Free Software Foundation, Inc.
Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
Contributed by Steve Chamberlain, of Transmeta (sac@pobox.com).
This program is free software; you can redistribute it and/or modify
@ -36,7 +36,7 @@ get_int (memaddr, iptr, info)
*iptr = (ival[0] << 24)
| (ival[1] << 16)
| (ival[2] << 8)
| (ival[3] << 0) ;
| (ival[3] << 0);
return status;
}
@ -72,7 +72,7 @@ print_insn_pj (addr, info)
fprintf_fn (stream, "%s", op->name);
/* The tableswitch instruction is followed by the default
address, low value, high value and the destinations. */
address, low value, high value and the destinations. */
if (strcmp (op->name, "tableswitch") == 0)
{
@ -111,7 +111,7 @@ print_insn_pj (addr, info)
/* The lookupswitch instruction is followed by the default
address, element count and pairs of values and
addresses. */
addresses. */
if (strcmp (op->name, "lookupswitch") == 0)
{

View File

@ -1,5 +1,5 @@
/* Disassemble z8000 code.
Copyright 1992, 1993, 1998, 2000
Copyright 1992, 1993, 1998, 2000, 2001
Free Software Foundation, Inc.
This file is part of GNU Binutils.
@ -269,7 +269,6 @@ z8k_lookup_instr (nibbles, info)
tabl_index++;
}
return -1;
}
static void
@ -334,22 +333,22 @@ unpack_instr (instr_data, is_segmented, info)
switch (datum_value)
{
case ARG_DISP16:
instr_data->displacement = instr_data->insn_start + 4 +
(signed short) (instr_word & 0xffff);
instr_data->displacement = instr_data->insn_start + 4
+ (signed short) (instr_word & 0xffff);
nibl_count += 3;
break;
case ARG_DISP12:
if (instr_word & 0x800)
if (instr_word & 0x800)
{
/* neg. 12 bit displacement */
instr_data->displacement = instr_data->insn_start + 2
- (signed short) ((instr_word & 0xfff) | 0xf000) * 2;
}
else
else
{
instr_data->displacement = instr_data->insn_start + 2
- (instr_word & 0x0fff) * 2;
}
}
nibl_count += 2;
break;
default:
@ -411,15 +410,15 @@ unpack_instr (instr_data, is_segmented, info)
FETCH_DATA (info, nibl_count + 8);
instr_long = (instr_data->words[nibl_count] << 16)
| (instr_data->words[nibl_count + 4]);
instr_data->address = ((instr_word & 0x7f00) << 8) +
(instr_long & 0xffff);
instr_data->address = ((instr_word & 0x7f00) << 8)
+ (instr_long & 0xffff);
nibl_count += 7;
seg_length = 2;
seg_length = 2;
}
else
{
instr_data->address = ((instr_word & 0x7f00) << 8) +
(instr_word & 0x00ff);
instr_data->address = ((instr_word & 0x7f00) << 8)
+ (instr_word & 0x00ff);
nibl_count += 3;
}
}
@ -434,11 +433,13 @@ unpack_instr (instr_data, is_segmented, info)
instr_data->ctrl_code = instr_nibl & 0x7;
break;
case CLASS_0DISP7:
instr_data->displacement = instr_data->insn_start + 2 - (instr_byte & 0x7f) * 2;
instr_data->displacement =
instr_data->insn_start + 2 - (instr_byte & 0x7f) * 2;
nibl_count += 1;
break;
case CLASS_1DISP7:
instr_data->displacement = instr_data->insn_start + 2 - (instr_byte & 0x7f) * 2;
instr_data->displacement =
instr_data->insn_start + 2 - (instr_byte & 0x7f) * 2;
nibl_count += 1;
break;
case CLASS_01II:
@ -459,12 +460,13 @@ unpack_instr (instr_data, is_segmented, info)
case CLASS_REGN0:
instr_data->arg_reg[datum_value] = instr_nibl;
break;
case CLASS_DISP8:
instr_data->displacement = instr_data->insn_start + 2 + (signed char)instr_byte * 2;
case CLASS_DISP8:
instr_data->displacement =
instr_data->insn_start + 2 + (signed char) instr_byte * 2;
nibl_count += 1;
break;
break;
default:
abort ();
abort ();
break;
}
@ -566,14 +568,14 @@ unparse_instr (instr_data, is_segmented)
strcat (out_str, tmp_str);
break;
case CLASS_PR:
if (is_segmented)
sprintf (tmp_str, "rr%ld", instr_data->arg_reg[datum_value]);
else
sprintf (tmp_str, "r%ld", instr_data->arg_reg[datum_value]);
if (is_segmented)
sprintf (tmp_str, "rr%ld", instr_data->arg_reg[datum_value]);
else
sprintf (tmp_str, "r%ld", instr_data->arg_reg[datum_value]);
strcat (out_str, tmp_str);
break;
default:
abort ();
abort ();
break;
}
}