forked from Imagelibrary/binutils-gdb
* bfd-in.h (STRING_AND_COMMA): New macro. Takes one constant string as its
argument and emits the string followed by a comma and then the length of the string. (CONST_STRNEQ): New macro. Checks to see if a variable string has a constant string as its initial characters. (CONST_STRNCPY): New macro. Copies a constant string to the start of a variable string. * bfd-in2.h: Regenerate. * <remainign files>: Make use of the new macros.
This commit is contained in:
@@ -1,3 +1,14 @@
|
||||
2006-09-16 Nick Clifton <nickc@redhat.com>
|
||||
Pedro Alves <pedro_alves@portugalmail.pt>
|
||||
|
||||
* arm-dis.c: Make use of new STRING_COMMA_LEN and CONST_STRNEQ
|
||||
macros defined in bfd.h.
|
||||
* cris-dis.c: Likewise.
|
||||
* h8300-dis.c: Likewise.
|
||||
* i386-dis.c: Likewise.
|
||||
* ia64-gen.c: Likewise.
|
||||
* mips-dis: Likewise.
|
||||
|
||||
2006-09-04 Paul Brook <paul@codesourcery.com>
|
||||
|
||||
* arm-dis.c (neon_opcode): Fix suffix on VMOVN.
|
||||
|
||||
@@ -3653,7 +3653,7 @@ parse_arm_disassembler_option (char *option)
|
||||
if (option == NULL)
|
||||
return;
|
||||
|
||||
if (strneq (option, "reg-names-", 10))
|
||||
if (CONST_STRNEQ (option, "reg-names-"))
|
||||
{
|
||||
int i;
|
||||
|
||||
@@ -3670,9 +3670,9 @@ parse_arm_disassembler_option (char *option)
|
||||
/* XXX - should break 'option' at following delimiter. */
|
||||
fprintf (stderr, _("Unrecognised register name set: %s\n"), option);
|
||||
}
|
||||
else if (strneq (option, "force-thumb", 11))
|
||||
else if (CONST_STRNEQ (option, "force-thumb"))
|
||||
force_thumb = 1;
|
||||
else if (strneq (option, "no-force-thumb", 14))
|
||||
else if (CONST_STRNEQ (option, "no-force-thumb"))
|
||||
force_thumb = 0;
|
||||
else
|
||||
/* XXX - should break 'option' at following delimiter. */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Disassembler code for CRIS.
|
||||
Copyright 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
|
||||
Copyright 2000, 2001, 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||
Contributed by Axis Communications AB, Lund, Sweden.
|
||||
Written by Hans-Peter Nilsson.
|
||||
|
||||
@@ -783,7 +783,7 @@ print_with_operands (const struct cris_opcode *opcodep,
|
||||
better way). */
|
||||
if (opcodep->name[0] == 'j')
|
||||
{
|
||||
if (strncmp (opcodep->name, "jsr", 3) == 0)
|
||||
if (CONST_STRNEQ (opcodep->name, "jsr"))
|
||||
/* It's "jsr" or "jsrc". */
|
||||
info->insn_type = dis_jsr;
|
||||
else
|
||||
@@ -1360,16 +1360,16 @@ print_with_operands (const struct cris_opcode *opcodep,
|
||||
itself or in a "move.d const,rN, sub.d rN,rM"-like sequence. */
|
||||
if (TRACE_CASE && case_offset_counter == 0)
|
||||
{
|
||||
if (strncmp (opcodep->name, "sub", 3) == 0)
|
||||
if (CONST_STRNEQ (opcodep->name, "sub"))
|
||||
case_offset = last_immediate;
|
||||
|
||||
/* It could also be an "add", if there are negative case-values. */
|
||||
else if (strncmp (opcodep->name, "add", 3) == 0)
|
||||
else if (CONST_STRNEQ (opcodep->name, "add"))
|
||||
/* The first case is the negated operand to the add. */
|
||||
case_offset = -last_immediate;
|
||||
|
||||
/* A bound insn will tell us the number of cases. */
|
||||
else if (strncmp (opcodep->name, "bound", 5) == 0)
|
||||
else if (CONST_STRNEQ (opcodep->name, "bound"))
|
||||
no_of_case_offsets = last_immediate + 1;
|
||||
|
||||
/* A jump or jsr or branch breaks the chain of insns for a
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Disassemble h8300 instructions.
|
||||
Copyright 1993, 1994, 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
|
||||
Copyright 1993, 1994, 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@@ -638,7 +638,7 @@ bfd_h8_disassemble (bfd_vma addr, disassemble_info *info, int mach)
|
||||
regno[1]);
|
||||
return qi->length;
|
||||
}
|
||||
if (strncmp (q->name, "mova", 4) == 0)
|
||||
if (CONST_STRNEQ (q->name, "mova"))
|
||||
{
|
||||
op_type *args = q->args.nib;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Print i386 instructions for GDB, the GNU debugger.
|
||||
Copyright 1988, 1989, 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
||||
@@ -2667,44 +2667,44 @@ print_insn (bfd_vma pc, disassemble_info *info)
|
||||
|
||||
for (p = info->disassembler_options; p != NULL; )
|
||||
{
|
||||
if (strncmp (p, "x86-64", 6) == 0)
|
||||
if (CONST_STRNEQ (p, "x86-64"))
|
||||
{
|
||||
address_mode = mode_64bit;
|
||||
priv.orig_sizeflag = AFLAG | DFLAG;
|
||||
}
|
||||
else if (strncmp (p, "i386", 4) == 0)
|
||||
else if (CONST_STRNEQ (p, "i386"))
|
||||
{
|
||||
address_mode = mode_32bit;
|
||||
priv.orig_sizeflag = AFLAG | DFLAG;
|
||||
}
|
||||
else if (strncmp (p, "i8086", 5) == 0)
|
||||
else if (CONST_STRNEQ (p, "i8086"))
|
||||
{
|
||||
address_mode = mode_16bit;
|
||||
priv.orig_sizeflag = 0;
|
||||
}
|
||||
else if (strncmp (p, "intel", 5) == 0)
|
||||
else if (CONST_STRNEQ (p, "intel"))
|
||||
{
|
||||
intel_syntax = 1;
|
||||
}
|
||||
else if (strncmp (p, "att", 3) == 0)
|
||||
else if (CONST_STRNEQ (p, "att"))
|
||||
{
|
||||
intel_syntax = 0;
|
||||
}
|
||||
else if (strncmp (p, "addr", 4) == 0)
|
||||
else if (CONST_STRNEQ (p, "addr"))
|
||||
{
|
||||
if (p[4] == '1' && p[5] == '6')
|
||||
priv.orig_sizeflag &= ~AFLAG;
|
||||
else if (p[4] == '3' && p[5] == '2')
|
||||
priv.orig_sizeflag |= AFLAG;
|
||||
}
|
||||
else if (strncmp (p, "data", 4) == 0)
|
||||
else if (CONST_STRNEQ (p, "data"))
|
||||
{
|
||||
if (p[4] == '1' && p[5] == '6')
|
||||
priv.orig_sizeflag &= ~DFLAG;
|
||||
else if (p[4] == '3' && p[5] == '2')
|
||||
priv.orig_sizeflag |= DFLAG;
|
||||
}
|
||||
else if (strncmp (p, "suffix", 6) == 0)
|
||||
else if (CONST_STRNEQ (p, "suffix"))
|
||||
priv.orig_sizeflag |= SUFFIX_ALWAYS;
|
||||
|
||||
p = strchr (p, ',');
|
||||
@@ -5207,9 +5207,9 @@ PNI_Fixup (int extrachar ATTRIBUTE_UNUSED, int sizeflag)
|
||||
&& (prefixes & PREFIX_ADDR)
|
||||
&& olen >= (4 + 7)
|
||||
&& *(p - 1) == ' '
|
||||
&& strncmp (p - 7, "addr", 4) == 0
|
||||
&& (strncmp (p - 3, "16", 2) == 0
|
||||
|| strncmp (p - 3, "32", 2) == 0))
|
||||
&& CONST_STRNEQ (p - 7, "addr")
|
||||
&& (CONST_STRNEQ (p - 3, "16")
|
||||
|| CONST_STRNEQ (p - 3, "32")))
|
||||
p -= 7;
|
||||
|
||||
if (rm)
|
||||
|
||||
@@ -467,7 +467,7 @@ fetch_insn_class (const char *full_name, int create)
|
||||
int ind;
|
||||
int is_class = 0;
|
||||
|
||||
if (strncmp (full_name, "IC:", 3) == 0)
|
||||
if (CONST_STRNEQ (full_name, "IC:"))
|
||||
{
|
||||
name = xstrdup (full_name + 3);
|
||||
is_class = 1;
|
||||
@@ -749,7 +749,7 @@ parse_resource_users (ref, usersp, nusersp, notesp)
|
||||
are read. Only create new classes if it's *not* an insn class,
|
||||
or if it's a composite class (which wouldn't necessarily be in the IC
|
||||
table). */
|
||||
if (strncmp (name, "IC:", 3) != 0 || xsect != NULL)
|
||||
if (! CONST_STRNEQ (name, "IC:") || xsect != NULL)
|
||||
create = 1;
|
||||
|
||||
iclass = fetch_insn_class (name, create);
|
||||
@@ -1034,7 +1034,7 @@ in_iclass (struct ia64_opcode *idesc, struct iclass *ic,
|
||||
|
||||
if (ic->comment)
|
||||
{
|
||||
if (!strncmp (ic->comment, "Format", 6))
|
||||
if (CONST_STRNEQ (ic->comment, "Format"))
|
||||
{
|
||||
/* Assume that the first format seen is the most restrictive, and
|
||||
only keep a later one if it looks like it's more restrictive. */
|
||||
@@ -1050,7 +1050,7 @@ in_iclass (struct ia64_opcode *idesc, struct iclass *ic,
|
||||
else
|
||||
format = ic->comment;
|
||||
}
|
||||
else if (!strncmp (ic->comment, "Field", 5))
|
||||
else if (CONST_STRNEQ (ic->comment, "Field"))
|
||||
{
|
||||
if (field)
|
||||
warn (_("overlapping field %s->%s\n"),
|
||||
@@ -1064,7 +1064,7 @@ in_iclass (struct ia64_opcode *idesc, struct iclass *ic,
|
||||
instructions. */
|
||||
if (ic->nsubs == 0 && ic->nxsubs == 0)
|
||||
{
|
||||
int is_mov = strncmp (idesc->name, "mov", 3) == 0;
|
||||
int is_mov = CONST_STRNEQ (idesc->name, "mov");
|
||||
int plain_mov = strcmp (idesc->name, "mov") == 0;
|
||||
int len = strlen(ic->name);
|
||||
|
||||
@@ -1123,32 +1123,32 @@ in_iclass (struct ia64_opcode *idesc, struct iclass *ic,
|
||||
|
||||
if (resolved && format)
|
||||
{
|
||||
if (strncmp (idesc->name, "dep", 3) == 0
|
||||
if (CONST_STRNEQ (idesc->name, "dep")
|
||||
&& strstr (format, "I13") != NULL)
|
||||
resolved = idesc->operands[1] == IA64_OPND_IMM8;
|
||||
else if (strncmp (idesc->name, "chk", 3) == 0
|
||||
else if (CONST_STRNEQ (idesc->name, "chk")
|
||||
&& strstr (format, "M21") != NULL)
|
||||
resolved = idesc->operands[0] == IA64_OPND_F2;
|
||||
else if (strncmp (idesc->name, "lfetch", 6) == 0)
|
||||
else if (CONST_STRNEQ (idesc->name, "lfetch"))
|
||||
resolved = (strstr (format, "M14 M15") != NULL
|
||||
&& (idesc->operands[1] == IA64_OPND_R2
|
||||
|| idesc->operands[1] == IA64_OPND_IMM9b));
|
||||
else if (strncmp (idesc->name, "br.call", 7) == 0
|
||||
else if (CONST_STRNEQ (idesc->name, "br.call")
|
||||
&& strstr (format, "B5") != NULL)
|
||||
resolved = idesc->operands[1] == IA64_OPND_B2;
|
||||
else if (strncmp (idesc->name, "br.call", 7) == 0
|
||||
else if (CONST_STRNEQ (idesc->name, "br.call")
|
||||
&& strstr (format, "B3") != NULL)
|
||||
resolved = idesc->operands[1] == IA64_OPND_TGT25c;
|
||||
else if (strncmp (idesc->name, "brp", 3) == 0
|
||||
else if (CONST_STRNEQ (idesc->name, "brp")
|
||||
&& strstr (format, "B7") != NULL)
|
||||
resolved = idesc->operands[0] == IA64_OPND_B2;
|
||||
else if (strcmp (ic->name, "invala") == 0)
|
||||
resolved = strcmp (idesc->name, ic->name) == 0;
|
||||
else if (strncmp (idesc->name, "st", 2) == 0
|
||||
else if (CONST_STRNEQ (idesc->name, "st")
|
||||
&& (strstr (format, "M5") != NULL
|
||||
|| strstr (format, "M10") != NULL))
|
||||
resolved = idesc->flags & IA64_OPCODE_POSTINC;
|
||||
else if (strncmp (idesc->name, "ld", 2) == 0
|
||||
else if (CONST_STRNEQ (idesc->name, "ld")
|
||||
&& (strstr (format, "M2 M3") != NULL
|
||||
|| strstr (format, "M12") != NULL
|
||||
|| strstr (format, "M7 M8") != NULL))
|
||||
@@ -1161,7 +1161,7 @@ in_iclass (struct ia64_opcode *idesc, struct iclass *ic,
|
||||
plain brl matches brl.cond. */
|
||||
if (!resolved
|
||||
&& (strcmp (idesc->name, "brl") == 0
|
||||
|| strncmp (idesc->name, "brl.", 4) == 0)
|
||||
|| CONST_STRNEQ (idesc->name, "brl."))
|
||||
&& strcmp (ic->name, "brl.cond") == 0)
|
||||
{
|
||||
resolved = 1;
|
||||
@@ -1170,7 +1170,7 @@ in_iclass (struct ia64_opcode *idesc, struct iclass *ic,
|
||||
/* Misc br variations ('.cond' is optional). */
|
||||
if (!resolved
|
||||
&& (strcmp (idesc->name, "br") == 0
|
||||
|| strncmp (idesc->name, "br.", 3) == 0)
|
||||
|| CONST_STRNEQ (idesc->name, "br."))
|
||||
&& strcmp (ic->name, "br.cond") == 0)
|
||||
{
|
||||
if (format)
|
||||
@@ -1183,7 +1183,7 @@ in_iclass (struct ia64_opcode *idesc, struct iclass *ic,
|
||||
}
|
||||
|
||||
/* probe variations. */
|
||||
if (!resolved && strncmp (idesc->name, "probe", 5) == 0)
|
||||
if (!resolved && CONST_STRNEQ (idesc->name, "probe"))
|
||||
{
|
||||
resolved = strcmp (ic->name, "probe") == 0
|
||||
&& !((strstr (idesc->name, "fault") != NULL)
|
||||
@@ -1217,7 +1217,7 @@ in_iclass (struct ia64_opcode *idesc, struct iclass *ic,
|
||||
}
|
||||
|
||||
/* Some variants of mov and mov.[im]. */
|
||||
if (!resolved && strncmp (ic->name, "mov_", 4) == 0)
|
||||
if (!resolved && CONST_STRNEQ (ic->name, "mov_"))
|
||||
resolved = in_iclass_mov_x (idesc, ic, format, field);
|
||||
}
|
||||
|
||||
@@ -1476,13 +1476,13 @@ lookup_specifier (const char *name)
|
||||
warn (_("Don't know how to specify # dependency %s\n"),
|
||||
name);
|
||||
}
|
||||
else if (strncmp (name, "AR[FPSR]", 8) == 0)
|
||||
else if (CONST_STRNEQ (name, "AR[FPSR]"))
|
||||
return IA64_RS_AR_FPSR;
|
||||
else if (strncmp (name, "AR[", 3) == 0)
|
||||
else if (CONST_STRNEQ (name, "AR["))
|
||||
return IA64_RS_ARX;
|
||||
else if (strncmp (name, "CR[", 3) == 0)
|
||||
else if (CONST_STRNEQ (name, "CR["))
|
||||
return IA64_RS_CRX;
|
||||
else if (strncmp (name, "PSR.", 4) == 0)
|
||||
else if (CONST_STRNEQ (name, "PSR."))
|
||||
return IA64_RS_PSR;
|
||||
else if (strcmp (name, "InService*") == 0)
|
||||
return IA64_RS_INSERVICE;
|
||||
@@ -2448,7 +2448,7 @@ insert_opcode_dependencies (opc, cmp)
|
||||
int j;
|
||||
|
||||
if (strcmp (opc->name, "cmp.eq.and") == 0
|
||||
&& strncmp (rs->name, "PR%", 3) == 0
|
||||
&& CONST_STRNEQ (rs->name, "PR%")
|
||||
&& rs->mode == 1)
|
||||
no_class_found = 99;
|
||||
|
||||
@@ -2459,7 +2459,7 @@ insert_opcode_dependencies (opc, cmp)
|
||||
if (in_iclass (opc, ics[rs->regs[j]], NULL, NULL, &ic_note))
|
||||
{
|
||||
/* We can ignore ic_note 11 for non PR resources. */
|
||||
if (ic_note == 11 && strncmp (rs->name, "PR", 2) != 0)
|
||||
if (ic_note == 11 && ! CONST_STRNEQ (rs->name, "PR"))
|
||||
ic_note = 0;
|
||||
|
||||
if (ic_note != 0 && rs->regnotes[j] != 0
|
||||
@@ -2487,7 +2487,7 @@ insert_opcode_dependencies (opc, cmp)
|
||||
if (in_iclass (opc, ics[rs->chks[j]], NULL, NULL, &ic_note))
|
||||
{
|
||||
/* We can ignore ic_note 11 for non PR resources. */
|
||||
if (ic_note == 11 && strncmp (rs->name, "PR", 2) != 0)
|
||||
if (ic_note == 11 && ! CONST_STRNEQ (rs->name, "PR"))
|
||||
ic_note = 0;
|
||||
|
||||
if (ic_note != 0 && rs->chknotes[j] != 0
|
||||
|
||||
@@ -575,7 +575,7 @@ parse_mips_dis_option (const char *option, unsigned int len)
|
||||
const struct mips_arch_choice *chosen_arch;
|
||||
|
||||
/* Try to match options that are simple flags */
|
||||
if (strncmp (option, "no-aliases", 10) == 0)
|
||||
if (CONST_STRNEQ (option, "no-aliases"))
|
||||
{
|
||||
no_aliases = 1;
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user