* i960-dis.c: Add parameters for prototypes
(ctrl): Add unused attributes. (cobr): Likewise. (put_abs): Likewise. * mips-dis.c: Add missing prototypes. * a29k-dis.c: Likewise. * arc-dis.c: Likewise. * ia64-opc.c: Likewise. * s390-dis.c: Add missing prototypes. (init_disasm): Remove unused attribute since the parameter is used.
This commit is contained in:
parent
5a65713f64
commit
7fa108a4d5
@ -1,3 +1,19 @@
|
||||
2001-08-21 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* i960-dis.c: Add parameters for prototypes
|
||||
(ctrl): Add unused attributes.
|
||||
(cobr): Likewise.
|
||||
(put_abs): Likewise.
|
||||
|
||||
* mips-dis.c: Add missing prototypes.
|
||||
* a29k-dis.c: Likewise.
|
||||
* arc-dis.c: Likewise.
|
||||
* ia64-opc.c: Likewise.
|
||||
|
||||
* s390-dis.c: Add missing prototypes.
|
||||
(init_disasm): Remove unused attribute since the parameter is
|
||||
used.
|
||||
|
||||
2001-08-16 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||||
|
||||
* mips-opc.c (M1): Define. Reformatted Code.
|
||||
@ -72,8 +88,8 @@
|
||||
|
||||
2001-07-28 Matthias Kramm <kramm@quiss.org>
|
||||
|
||||
* i386-dis.c: Change formatting conventions for architecture
|
||||
i386:intel to better match the format of various intel i386
|
||||
* i386-dis.c: Change formatting conventions for architecture
|
||||
i386:intel to better match the format of various intel i386
|
||||
assemblers, like nasm, tasm or masm.
|
||||
|
||||
2001-07-24 Alan Modra <amodra@bigpond.net.au>
|
||||
@ -116,9 +132,9 @@
|
||||
* cgen-asm.in: Include "xregex.h" always to enable the libiberty
|
||||
regex support.
|
||||
(@arch@_cgen_build_insn_regex): New routine from Graydon.
|
||||
(@arch@_cgen_assemble_insn): Add Graydon's code to use regex
|
||||
(@arch@_cgen_assemble_insn): Add Graydon's code to use regex
|
||||
to verify if it is worth parsing the insn as insn "x". Also update
|
||||
error message when insn is not a recognized format of the insn vs
|
||||
error message when insn is not a recognized format of the insn vs
|
||||
when the insn is completely unrecognized.
|
||||
|
||||
2001-07-11 Frank Ch. Eigler <fche@redhat.com>
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Instruction printing code for the AMD 29000
|
||||
Copyright 1990, 1993, 1994, 1995, 1998, 2000
|
||||
Copyright 1990, 1993, 1994, 1995, 1998, 2000, 2001
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Cygnus Support. Written by Jim Kingdon.
|
||||
|
||||
@ -23,6 +23,18 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
#include "dis-asm.h"
|
||||
#include "opcode/a29k.h"
|
||||
|
||||
static void print_general PARAMS ((int, struct disassemble_info *));
|
||||
static void print_special PARAMS ((unsigned int, struct disassemble_info *));
|
||||
static int is_delayed_branch PARAMS ((int));
|
||||
static void find_bytes_little
|
||||
PARAMS ((char *, unsigned char *, unsigned char *, unsigned char *,
|
||||
unsigned char *));
|
||||
static void find_bytes_big
|
||||
PARAMS ((char *, unsigned char *, unsigned char *, unsigned char *,
|
||||
unsigned char *));
|
||||
static int print_insn PARAMS ((bfd_vma, struct disassemble_info *));
|
||||
|
||||
|
||||
/* Print a symbolic representation of a general-purpose
|
||||
register number NUM on STREAM.
|
||||
NUM is a number as found in the instruction, not as found in
|
||||
@ -39,7 +51,7 @@ print_general (num, info)
|
||||
}
|
||||
|
||||
/* Like print_general but a special-purpose register.
|
||||
|
||||
|
||||
The mnemonics used by the AMD assembler are not quite the same
|
||||
as the ones in the User's Manual. We use the ones that the
|
||||
assembler uses. */
|
||||
@ -171,7 +183,7 @@ print_insn (memaddr, info)
|
||||
if (((unsigned long) insn24 << 24) == opcode->opcode)
|
||||
{
|
||||
char *s;
|
||||
|
||||
|
||||
(*info->fprintf_func) (info->stream, "%s ", opcode->name);
|
||||
for (s = opcode->args; *s != '\0'; ++s)
|
||||
{
|
||||
@ -180,7 +192,7 @@ print_insn (memaddr, info)
|
||||
case 'a':
|
||||
print_general (insn8, info);
|
||||
break;
|
||||
|
||||
|
||||
case 'b':
|
||||
print_general (insn0, info);
|
||||
break;
|
||||
@ -281,7 +293,7 @@ print_insn (memaddr, info)
|
||||
int errcode;
|
||||
char prev_insn[4];
|
||||
unsigned char prev_insn0, prev_insn8, prev_insn16, prev_insn24;
|
||||
|
||||
|
||||
errcode = (*info->read_memory_func) (memaddr - 4,
|
||||
(bfd_byte *) &prev_insn[0],
|
||||
4,
|
||||
@ -291,7 +303,7 @@ print_insn (memaddr, info)
|
||||
/* If it is a delayed branch, we need to look at the
|
||||
instruction before the delayed brach to handle
|
||||
things like
|
||||
|
||||
|
||||
const _foo
|
||||
call _printf
|
||||
consth _foo
|
||||
@ -306,7 +318,7 @@ print_insn (memaddr, info)
|
||||
&prev_insn16, &prev_insn24);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* If there was a problem reading memory, then assume
|
||||
the previous instruction was not const. */
|
||||
if (errcode == 0)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Disassemble i80960 instructions.
|
||||
Copyright 1990, 1991, 1993, 1994, 1995, 1996, 1998, 1999, 2000
|
||||
Copyright 1990, 1991, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@ -21,27 +21,27 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
#include "dis-asm.h"
|
||||
|
||||
static const char *const reg_names[] = {
|
||||
/* 0 */ "pfp", "sp", "rip", "r3", "r4", "r5", "r6", "r7",
|
||||
/* 0 */ "pfp", "sp", "rip", "r3", "r4", "r5", "r6", "r7",
|
||||
/* 8 */ "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
|
||||
/* 16 */ "g0", "g1", "g2", "g3", "g4", "g5", "g6", "g7",
|
||||
/* 24 */ "g8", "g9", "g10", "g11", "g12", "g13", "g14", "fp",
|
||||
/* 32 */ "pc", "ac", "ip", "tc", "fp0", "fp1", "fp2", "fp3"
|
||||
/* 16 */ "g0", "g1", "g2", "g3", "g4", "g5", "g6", "g7",
|
||||
/* 24 */ "g8", "g9", "g10", "g11", "g12", "g13", "g14", "fp",
|
||||
/* 32 */ "pc", "ac", "ip", "tc", "fp0", "fp1", "fp2", "fp3"
|
||||
};
|
||||
|
||||
|
||||
static FILE *stream; /* Output goes here */
|
||||
static struct disassemble_info *info;
|
||||
static void print_addr();
|
||||
static void ctrl();
|
||||
static void cobr();
|
||||
static void reg();
|
||||
static int mem();
|
||||
static void ea();
|
||||
static void dstop();
|
||||
static void regop();
|
||||
static void invalid();
|
||||
static int pinsn();
|
||||
static void put_abs();
|
||||
static void print_addr PARAMS ((bfd_vma));
|
||||
static void ctrl PARAMS ((bfd_vma, unsigned long, unsigned long));
|
||||
static void cobr PARAMS ((bfd_vma, unsigned long, unsigned long));
|
||||
static void reg PARAMS ((unsigned long));
|
||||
static int mem PARAMS ((bfd_vma, unsigned long, unsigned long, int));
|
||||
static void ea PARAMS ((bfd_vma, int, char *, char *, int, unsigned int));
|
||||
static void dstop PARAMS ((int, int, int));
|
||||
static void regop PARAMS ((int, int, int, int));
|
||||
static void invalid PARAMS ((int));
|
||||
static int pinsn PARAMS ((bfd_vma, unsigned long, unsigned long));
|
||||
static void put_abs PARAMS ((unsigned long, unsigned long));
|
||||
|
||||
|
||||
/* Print the i960 instruction at address 'memaddr' in debugged memory,
|
||||
@ -150,7 +150,7 @@ pinsn( memaddr, word1, word2 )
|
||||
instr_len = mem( memaddr, word1, word2, 0 );
|
||||
break;
|
||||
default:
|
||||
/* invalid instruction, print as data word */
|
||||
/* invalid instruction, print as data word */
|
||||
invalid( word1 );
|
||||
break;
|
||||
}
|
||||
@ -163,7 +163,8 @@ pinsn( memaddr, word1, word2 )
|
||||
static void
|
||||
ctrl( memaddr, word1, word2 )
|
||||
bfd_vma memaddr;
|
||||
unsigned long word1, word2;
|
||||
unsigned long word1;
|
||||
unsigned long word2 ATTRIBUTE_UNUSED;
|
||||
{
|
||||
int i;
|
||||
static const struct tabent ctrl_tab[] = {
|
||||
@ -229,7 +230,8 @@ ctrl( memaddr, word1, word2 )
|
||||
static void
|
||||
cobr( memaddr, word1, word2 )
|
||||
bfd_vma memaddr;
|
||||
unsigned long word1, word2;
|
||||
unsigned long word1;
|
||||
unsigned long word2 ATTRIBUTE_UNUSED;
|
||||
{
|
||||
int src1;
|
||||
int src2;
|
||||
@ -493,33 +495,33 @@ reg( word1 )
|
||||
{ 0x58d, "notor", 3 },
|
||||
{ 0x58e, "nand", 3 },
|
||||
{ 0x58f, "alterbit", 3 },
|
||||
{ 0x590, "addo", 3 },
|
||||
{ 0x591, "addi", 3 },
|
||||
{ 0x592, "subo", 3 },
|
||||
{ 0x593, "subi", 3 },
|
||||
{ 0x590, "addo", 3 },
|
||||
{ 0x591, "addi", 3 },
|
||||
{ 0x592, "subo", 3 },
|
||||
{ 0x593, "subi", 3 },
|
||||
{ 0x594, "cmpob", 2 },
|
||||
{ 0x595, "cmpib", 2 },
|
||||
{ 0x596, "cmpos", 2 },
|
||||
{ 0x597, "cmpis", 2 },
|
||||
{ 0x598, "shro", 3 },
|
||||
{ 0x59a, "shrdi", 3 },
|
||||
{ 0x59b, "shri", 3 },
|
||||
{ 0x59c, "shlo", 3 },
|
||||
{ 0x59d, "rotate", 3 },
|
||||
{ 0x59e, "shli", 3 },
|
||||
{ 0x5a0, "cmpo", 2 },
|
||||
{ 0x5a1, "cmpi", 2 },
|
||||
{ 0x5a2, "concmpo", 2 },
|
||||
{ 0x5a3, "concmpi", 2 },
|
||||
{ 0x5a4, "cmpinco", 3 },
|
||||
{ 0x5a5, "cmpinci", 3 },
|
||||
{ 0x5a6, "cmpdeco", 3 },
|
||||
{ 0x5a7, "cmpdeci", 3 },
|
||||
{ 0x5ac, "scanbyte", 2 },
|
||||
{ 0x598, "shro", 3 },
|
||||
{ 0x59a, "shrdi", 3 },
|
||||
{ 0x59b, "shri", 3 },
|
||||
{ 0x59c, "shlo", 3 },
|
||||
{ 0x59d, "rotate", 3 },
|
||||
{ 0x59e, "shli", 3 },
|
||||
{ 0x5a0, "cmpo", 2 },
|
||||
{ 0x5a1, "cmpi", 2 },
|
||||
{ 0x5a2, "concmpo", 2 },
|
||||
{ 0x5a3, "concmpi", 2 },
|
||||
{ 0x5a4, "cmpinco", 3 },
|
||||
{ 0x5a5, "cmpinci", 3 },
|
||||
{ 0x5a6, "cmpdeco", 3 },
|
||||
{ 0x5a7, "cmpdeci", 3 },
|
||||
{ 0x5ac, "scanbyte", 2 },
|
||||
{ 0x5ad, "bswap", -2 },
|
||||
{ 0x5ae, "chkbit", 2 },
|
||||
{ 0x5b0, "addc", 3 },
|
||||
{ 0x5b2, "subc", 3 },
|
||||
{ 0x5ae, "chkbit", 2 },
|
||||
{ 0x5b0, "addc", 3 },
|
||||
{ 0x5b2, "subc", 3 },
|
||||
{ 0x5b4, "intdis", 0 },
|
||||
{ 0x5b5, "inten", 0 },
|
||||
{ 0x5cc, "mov", -2 },
|
||||
@ -573,7 +575,7 @@ reg( word1 )
|
||||
{ 0x66f, "syncf", 0 },
|
||||
{ 0x670, "emul", 3 },
|
||||
{ 0x671, "ediv", 3 },
|
||||
{ 0x673, "ldtime", -1 },
|
||||
{ 0x673, "ldtime", -1 },
|
||||
{ 0x674, "Fcvtir", -2 },
|
||||
{ 0x675, "Fcvtilr", -2 },
|
||||
{ 0x676, "Fscalerl", 3 },
|
||||
@ -612,9 +614,9 @@ reg( word1 )
|
||||
{ 0x6c3, "Fcvtzril", -2 },
|
||||
{ 0x6c9, "Fmovr", -2 },
|
||||
{ 0x6d9, "Fmovrl", -2 },
|
||||
{ 0x6e1, "Fmovre", -2 },
|
||||
{ 0x6e2, "Fcpysre", 3 },
|
||||
{ 0x6e3, "Fcpyrsre", 3 },
|
||||
{ 0x6e1, "Fmovre", -2 },
|
||||
{ 0x6e2, "Fcpysre", 3 },
|
||||
{ 0x6e3, "Fcpyrsre", 3 },
|
||||
{ 0x701, "mulo", 3 },
|
||||
{ 0x708, "remo", 3 },
|
||||
{ 0x70b, "divo", 3 },
|
||||
@ -765,7 +767,7 @@ ea( memaddr, mode, reg2, reg3, word1, word2 )
|
||||
scale = scale_tab[scale];
|
||||
|
||||
switch (mode) {
|
||||
case 4: /* (reg) */
|
||||
case 4: /* (reg) */
|
||||
(*info->fprintf_func)( stream, "(%s)", reg2 );
|
||||
break;
|
||||
case 5: /* displ+8(ip) */
|
||||
@ -809,7 +811,7 @@ ea( memaddr, mode, reg2, reg3, word1, word2 )
|
||||
|
||||
|
||||
/************************************************/
|
||||
/* Register Instruction Operand */
|
||||
/* Register Instruction Operand */
|
||||
/************************************************/
|
||||
static void
|
||||
regop( mode, spec, reg, fp )
|
||||
@ -873,7 +875,7 @@ invalid( word1 )
|
||||
int word1;
|
||||
{
|
||||
(*info->fprintf_func)( stream, ".word\t0x%08x", (unsigned) word1 );
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
print_addr(a)
|
||||
@ -884,7 +886,8 @@ bfd_vma a;
|
||||
|
||||
static void
|
||||
put_abs( word1, word2 )
|
||||
unsigned long word1, word2;
|
||||
unsigned long word1 ATTRIBUTE_UNUSED;
|
||||
unsigned long word2 ATTRIBUTE_UNUSED;
|
||||
{
|
||||
#ifdef IN_GDB
|
||||
return;
|
||||
|
@ -45,8 +45,12 @@ static int print_insn_mips
|
||||
PARAMS ((bfd_vma, unsigned long int, struct disassemble_info *));
|
||||
static void print_insn_arg
|
||||
PARAMS ((const char *, unsigned long, bfd_vma, struct disassemble_info *));
|
||||
static void mips_isa_type
|
||||
PARAMS ((int, int *, int *));
|
||||
static int print_insn_mips16
|
||||
PARAMS ((bfd_vma, struct disassemble_info *));
|
||||
static int is_newabi
|
||||
PARAMS ((Elf_Internal_Ehdr *));
|
||||
static void print_mips16_insn_arg
|
||||
PARAMS ((int, const struct mips_opcode *, int, boolean, int, bfd_vma,
|
||||
struct disassemble_info *));
|
||||
|
@ -29,11 +29,15 @@ static int init_flag = 0;
|
||||
static int opc_index[256];
|
||||
static int current_arch_mask = 0;
|
||||
|
||||
static void init_disasm PARAMS ((struct disassemble_info *));
|
||||
static unsigned int s390_extract_operand
|
||||
PARAMS ((unsigned char *, const struct s390_operand *));
|
||||
|
||||
/* Set up index table for first opcode byte. */
|
||||
|
||||
static void
|
||||
init_disasm (info)
|
||||
struct disassemble_info *info ATTRIBUTE_UNUSED;
|
||||
struct disassemble_info *info;
|
||||
{
|
||||
const struct s390_opcode *opcode;
|
||||
const struct s390_opcode *opcode_end;
|
||||
|
Loading…
Reference in New Issue
Block a user