mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-24 18:44:20 +08:00
* config/tc-mips.c (append_insn): Add jump address range overflow
check.
This commit is contained in:
parent
34ba82a8bb
commit
7496292d88
@ -1,3 +1,8 @@
|
||||
2001-12-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||||
|
||||
* config/tc-mips.c (append_insn): Add jump address range overflow
|
||||
check.
|
||||
|
||||
2001-12-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||||
|
||||
* config/tc-mips.c (md_parse_option): Fix comment. Allow -mabi option
|
||||
|
@ -1974,6 +1974,10 @@ append_insn (place, ip, address_expr, reloc_type, unmatched_hi)
|
||||
if ((address_expr->X_add_number & 3) != 0)
|
||||
as_bad (_("jump to misaligned address (0x%lx)"),
|
||||
(unsigned long) address_expr->X_add_number);
|
||||
if (address_expr->X_add_number & ~0xfffffff
|
||||
|| address_expr->X_add_number > 0x7fffffc)
|
||||
as_bad (_("jump address range overflow (0x%lx)"),
|
||||
(unsigned long) address_expr->X_add_number);
|
||||
ip->insn_opcode |= (address_expr->X_add_number >> 2) & 0x3ffffff;
|
||||
break;
|
||||
|
||||
@ -1981,6 +1985,10 @@ append_insn (place, ip, address_expr, reloc_type, unmatched_hi)
|
||||
if ((address_expr->X_add_number & 3) != 0)
|
||||
as_bad (_("jump to misaligned address (0x%lx)"),
|
||||
(unsigned long) address_expr->X_add_number);
|
||||
if (address_expr->X_add_number & ~0xfffffff
|
||||
|| address_expr->X_add_number > 0x7fffffc)
|
||||
as_bad (_("jump address range overflow (0x%lx)"),
|
||||
(unsigned long) address_expr->X_add_number);
|
||||
ip->insn_opcode |=
|
||||
(((address_expr->X_add_number & 0x7c0000) << 3)
|
||||
| ((address_expr->X_add_number & 0xf800000) >> 7)
|
||||
|
Loading…
Reference in New Issue
Block a user