mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 20:28:28 +08:00
Removed the BFD_RELOC_V850_16_PCREL.
This commit is contained in:
@ -1,3 +1,7 @@
|
|||||||
|
Wed Sep 3 11:21:33 1997 Nick Clifton <nickc@cygnus.com>
|
||||||
|
|
||||||
|
* config/tc-v850.c: Remove BFD_RELOC_V850_16_PCREL.
|
||||||
|
|
||||||
Tue Sep 2 18:32:30 1997 Jeffrey A Law (law@cygnus.com)
|
Tue Sep 2 18:32:30 1997 Jeffrey A Law (law@cygnus.com)
|
||||||
|
|
||||||
* config/tc-mn10200.c (md_convert_frag): PC relative instructions arex
|
* config/tc-mn10200.c (md_convert_frag): PC relative instructions arex
|
||||||
|
@ -29,12 +29,16 @@
|
|||||||
|
|
||||||
/* Temporarily holds the reloc in a cons expression. */
|
/* Temporarily holds the reloc in a cons expression. */
|
||||||
static bfd_reloc_code_real_type hold_cons_reloc;
|
static bfd_reloc_code_real_type hold_cons_reloc;
|
||||||
|
|
||||||
|
/* Set to TRUE if we want to be pedantic about signed overflows. */
|
||||||
|
static boolean warn_signed_overflows = FALSE;
|
||||||
|
|
||||||
|
|
||||||
/* Structure to hold information about predefined registers. */
|
/* Structure to hold information about predefined registers. */
|
||||||
struct reg_name
|
struct reg_name
|
||||||
{
|
{
|
||||||
const char *name;
|
const char * name;
|
||||||
int value;
|
int value;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Generic assembler global variables which must be defined by all targets. */
|
/* Generic assembler global variables which must be defined by all targets. */
|
||||||
@ -758,7 +762,7 @@ md_show_usage (stream)
|
|||||||
FILE *stream;
|
FILE *stream;
|
||||||
{
|
{
|
||||||
fprintf (stream, "V850 options:\n");
|
fprintf (stream, "V850 options:\n");
|
||||||
fprintf (stream, "\tnone at present\n");
|
fprintf (stream, "\t-wsigned_overflow Warn if signed immediate values overflow\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
@ -766,6 +770,12 @@ md_parse_option (c, arg)
|
|||||||
int c;
|
int c;
|
||||||
char * arg;
|
char * arg;
|
||||||
{
|
{
|
||||||
|
if (c == 'w' && strcmp (arg, "signed_overflow") == 0)
|
||||||
|
{
|
||||||
|
warn_signed_overflows = TRUE;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1321,7 +1331,7 @@ md_assemble (str)
|
|||||||
/* We need to generate a fixup for this expression. */
|
/* We need to generate a fixup for this expression. */
|
||||||
if (fc >= MAX_INSN_FIXUPS)
|
if (fc >= MAX_INSN_FIXUPS)
|
||||||
as_fatal ("too many fixups");
|
as_fatal ("too many fixups");
|
||||||
|
|
||||||
fixups[ fc ].exp = ex;
|
fixups[ fc ].exp = ex;
|
||||||
fixups[ fc ].opindex = * opindex_ptr;
|
fixups[ fc ].opindex = * opindex_ptr;
|
||||||
fixups[ fc ].reloc = BFD_RELOC_UNUSED;
|
fixups[ fc ].reloc = BFD_RELOC_UNUSED;
|
||||||
@ -1451,11 +1461,13 @@ md_assemble (str)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fix_new_exp (frag_now, f - frag_now->fr_literal, 4,
|
fix_new_exp (
|
||||||
|
frag_now,
|
||||||
|
f - frag_now->fr_literal, 4,
|
||||||
& fixups[i].exp,
|
& fixups[i].exp,
|
||||||
1 /* FIXME: V850_OPERAND_RELATIVE ??? */,
|
1 /* FIXME: V850_OPERAND_RELATIVE ??? */,
|
||||||
((bfd_reloc_code_real_type)
|
(bfd_reloc_code_real_type) (fixups[i].opindex + (int) BFD_RELOC_UNUSED)
|
||||||
(fixups[i].opindex + (int) BFD_RELOC_UNUSED)));
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1582,8 +1594,6 @@ md_apply_fix3 (fixp, valuep, seg)
|
|||||||
fixp->fx_r_type = BFD_RELOC_V850_22_PCREL;
|
fixp->fx_r_type = BFD_RELOC_V850_22_PCREL;
|
||||||
else if (operand->bits == 9)
|
else if (operand->bits == 9)
|
||||||
fixp->fx_r_type = BFD_RELOC_V850_9_PCREL;
|
fixp->fx_r_type = BFD_RELOC_V850_9_PCREL;
|
||||||
else if (operand->bits == 16)
|
|
||||||
fixp->fx_r_type = BFD_RELOC_V850_16_PCREL;
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
as_bad_where(fixp->fx_file, fixp->fx_line,
|
as_bad_where(fixp->fx_file, fixp->fx_line,
|
||||||
@ -1626,7 +1636,11 @@ v850_insert_operand (insn, operand, val, file, line)
|
|||||||
|
|
||||||
if ((operand->flags & V850_OPERAND_SIGNED) != 0)
|
if ((operand->flags & V850_OPERAND_SIGNED) != 0)
|
||||||
{
|
{
|
||||||
max = (1 << (operand->bits - 1)) - 1;
|
if (! warn_signed_overflows)
|
||||||
|
max = (1 << operand->bits) - 1;
|
||||||
|
else
|
||||||
|
max = (1 << (operand->bits - 1)) - 1;
|
||||||
|
|
||||||
min = - (1 << (operand->bits - 1));
|
min = - (1 << (operand->bits - 1));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user