2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com>
* s390-dis.c (init_disasm): Evaluate disassembler_options. (print_s390_disassembler_options): New function. * disassemble.c (disassembler_usage): Invoke print_s390_disassembler_options. 2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com> * dis-asm.h (print_s390_disassembler_options): Prototype added.
This commit is contained in:
parent
7ff4264847
commit
112b7c5071
5 changed files with 55 additions and 9 deletions
|
@ -1,3 +1,8 @@
|
|||
2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
* dis-asm.h (print_s390_disassembler_options):
|
||||
Prototype added.
|
||||
|
||||
2008-03-28 Eric B. Weddington <eric.weddington@atmel.com>
|
||||
|
||||
* opcode/avr.h (AVR_ISA_TINY3): Define new opcode set for attiny167.
|
||||
|
|
|
@ -291,6 +291,7 @@ extern void print_mips_disassembler_options (FILE *);
|
|||
extern void print_ppc_disassembler_options (FILE *);
|
||||
extern void print_arm_disassembler_options (FILE *);
|
||||
extern void parse_arm_disassembler_option (char *);
|
||||
extern void print_s390_disassembler_options (FILE *);
|
||||
extern int get_arm_regname_num_options (void);
|
||||
extern int set_arm_regname_option (int);
|
||||
extern int get_arm_regnames (int, const char **, const char **, const char *const **);
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
* s390-dis.c (init_disasm): Evaluate disassembler_options.
|
||||
(print_s390_disassembler_options): New function.
|
||||
* disassemble.c (disassembler_usage): Invoke
|
||||
print_s390_disassembler_options.
|
||||
|
||||
2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
* s390-mkopc.c (insertExpandedMnemonic): Expand string sizes
|
||||
|
|
|
@ -466,6 +466,9 @@ disassembler_usage (stream)
|
|||
#ifdef ARCH_i386
|
||||
print_i386_disassembler_options (stream);
|
||||
#endif
|
||||
#ifdef ARCH_s390
|
||||
print_s390_disassembler_options (stream);
|
||||
#endif
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include "ansidecl.h"
|
||||
#include "sysdep.h"
|
||||
#include "dis-asm.h"
|
||||
#include "opintl.h"
|
||||
#include "opcode/s390.h"
|
||||
|
||||
static int init_flag = 0;
|
||||
|
@ -36,6 +37,7 @@ init_disasm (struct disassemble_info *info)
|
|||
{
|
||||
const struct s390_opcode *opcode;
|
||||
const struct s390_opcode *opcode_end;
|
||||
const char *p;
|
||||
|
||||
memset (opc_index, 0, sizeof (opc_index));
|
||||
opcode_end = s390_opcodes + s390_num_opcodes;
|
||||
|
@ -46,6 +48,22 @@ init_disasm (struct disassemble_info *info)
|
|||
(opcode[1].opcode[0] == opcode->opcode[0]))
|
||||
opcode++;
|
||||
}
|
||||
|
||||
for (p = info->disassembler_options; p != NULL; )
|
||||
{
|
||||
if (CONST_STRNEQ (p, "esa"))
|
||||
current_arch_mask = 1 << S390_OPCODE_ESA;
|
||||
else if (CONST_STRNEQ (p, "zarch"))
|
||||
current_arch_mask = 1 << S390_OPCODE_ZARCH;
|
||||
else
|
||||
fprintf (stderr, "Unknown S/390 disassembler option: %s\n", p);
|
||||
|
||||
p = strchr (p, ',');
|
||||
if (p != NULL)
|
||||
p++;
|
||||
}
|
||||
|
||||
if (!current_arch_mask)
|
||||
switch (info->mach)
|
||||
{
|
||||
case bfd_mach_s390_31:
|
||||
|
@ -57,6 +75,7 @@ init_disasm (struct disassemble_info *info)
|
|||
default:
|
||||
abort ();
|
||||
}
|
||||
|
||||
init_flag = 1;
|
||||
}
|
||||
|
||||
|
@ -250,3 +269,14 @@ print_insn_s390 (bfd_vma memaddr, struct disassemble_info *info)
|
|||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
print_s390_disassembler_options (FILE *stream)
|
||||
{
|
||||
fprintf (stream, _("\n\
|
||||
The following S/390 specific disassembler options are supported for use\n\
|
||||
with the -M switch (multiple options should be separated by commas):\n"));
|
||||
|
||||
fprintf (stream, _(" esa Disassemble in ESA architecture mode\n"));
|
||||
fprintf (stream, _(" zarch Disassemble in z/Architecture mode\n"));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue