mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-29 16:38:05 +08:00
* config/tc-txvu.c (md_assemble): Handle no separator between
upper and lower insn #ifndef VERTICAL_BAR_SEPARATOR. (assemble_insn): Likewise.
This commit is contained in:
@ -1,4 +1,10 @@
|
|||||||
start-sanitize-sky
|
start-sanitize-sky
|
||||||
|
Tue Jan 6 13:10:20 1998 Doug Evans <devans@seba.cygnus.com>
|
||||||
|
|
||||||
|
* config/tc-txvu.c (md_assemble): Handle no separator between
|
||||||
|
upper and lower insn #ifndef VERTICAL_BAR_SEPARATOR.
|
||||||
|
(assemble_insn): Likewise.
|
||||||
|
|
||||||
Mon Jan 5 14:54:09 1998 Doug Evans <devans@seba.cygnus.com>
|
Mon Jan 5 14:54:09 1998 Doug Evans <devans@seba.cygnus.com>
|
||||||
|
|
||||||
* config/tc-txvu.c: #include dis-asm.h, opcode/txvu.h, elf/txvu.h.
|
* config/tc-txvu.c: #include dis-asm.h, opcode/txvu.h, elf/txvu.h.
|
||||||
|
@ -103,12 +103,13 @@ struct txvu_fixup
|
|||||||
|
|
||||||
#define MAX_FIXUPS 5
|
#define MAX_FIXUPS 5
|
||||||
|
|
||||||
static void assemble_insn PARAMS ((char *, int));
|
static char * assemble_insn PARAMS ((char *, int));
|
||||||
|
|
||||||
void
|
void
|
||||||
md_assemble (str)
|
md_assemble (str)
|
||||||
char *str;
|
char *str;
|
||||||
{
|
{
|
||||||
|
#ifdef VERTICAL_BAR_SEPARATOR
|
||||||
char *p = strchr (str, '|');
|
char *p = strchr (str, '|');
|
||||||
|
|
||||||
if (p == NULL)
|
if (p == NULL)
|
||||||
@ -121,12 +122,21 @@ md_assemble (str)
|
|||||||
assemble_insn (str, 0);
|
assemble_insn (str, 0);
|
||||||
*p = '|';
|
*p = '|';
|
||||||
assemble_insn (p + 1, 1);
|
assemble_insn (p + 1, 1);
|
||||||
|
#else
|
||||||
|
str = assemble_insn (str, 0);
|
||||||
|
/* Don't assemble next one if we couldn't assemble the first. */
|
||||||
|
if (str)
|
||||||
|
assemble_insn (str, 1);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Assemble one instruction.
|
/* Assemble one instruction.
|
||||||
LOWER_P is non-zero if assembling in the lower insn slot. */
|
LOWER_P is non-zero if assembling in the lower insn slot.
|
||||||
|
The result is a pointer to beyond the end of the scanned insn.
|
||||||
|
If this is the upper insn, the caller can pass back to result to us
|
||||||
|
parse the lower insn. */
|
||||||
|
|
||||||
static void
|
static char *
|
||||||
assemble_insn (str, lower_p)
|
assemble_insn (str, lower_p)
|
||||||
char *str;
|
char *str;
|
||||||
int lower_p;
|
int lower_p;
|
||||||
@ -368,7 +378,11 @@ assemble_insn (str, lower_p)
|
|||||||
while (isspace (*str))
|
while (isspace (*str))
|
||||||
++str;
|
++str;
|
||||||
|
|
||||||
if (*str != '\0')
|
if (*str != '\0'
|
||||||
|
#ifndef VERTICAL_BAR_SEPARATOR
|
||||||
|
&& lower_p
|
||||||
|
#endif
|
||||||
|
)
|
||||||
as_bad ("junk at end of line: `%s'", str);
|
as_bad ("junk at end of line: `%s'", str);
|
||||||
|
|
||||||
/* Write out the instruction.
|
/* Write out the instruction.
|
||||||
@ -403,13 +417,14 @@ assemble_insn (str, lower_p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* All done. */
|
/* All done. */
|
||||||
return;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Try the next entry. */
|
/* Try the next entry. */
|
||||||
}
|
}
|
||||||
|
|
||||||
as_bad ("bad instruction `%s'", start);
|
as_bad ("bad instruction `%s'", start);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Reference in New Issue
Block a user