aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorThiemo Seufer <ths@networkno.de>2002-09-26 09:00:08 +0000
committerThiemo Seufer <ths@networkno.de>2002-09-26 09:00:08 +0000
commitf3c0ec86c4c4a6784ea449e0e76a6a37f2da4488 (patch)
tree5cbd8e3abc650c5c5c5c42ab8d2501a3528b3d3c /gas
parent9f951329b6c97a113018ecdcebdf47a355d1b6c7 (diff)
downloadgdb-f3c0ec86c4c4a6784ea449e0e76a6a37f2da4488.zip
gdb-f3c0ec86c4c4a6784ea449e0e76a6a37f2da4488.tar.gz
gdb-f3c0ec86c4c4a6784ea449e0e76a6a37f2da4488.tar.bz2
* config/tc-mips.c (append_insn): Fix jump overflow check.
* gas/mips/jal-range.s: Fix jump overflow check. * gas/mips/jal-range.l: Likewise.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/tc-mips.c6
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/mips/jal-range.l6
-rw-r--r--gas/testsuite/gas/mips/jal-range.s7
5 files changed, 18 insertions, 10 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index eaef139..eda63ad 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,7 @@
+2002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * config/tc-mips.c (append_insn): Fix jump overflow check.
+
2002-09-24 Alan Modra <amodra@bigpond.net.au>
* config/tc-i386.c (process_operands): Warn about "lea" segment
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index ba803d2..bd797c4 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -1858,8 +1858,7 @@ 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)
+ if (address_expr->X_add_number & ~0xfffffff)
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;
@@ -1869,8 +1868,7 @@ 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)
+ if (address_expr->X_add_number & ~0xfffffff)
as_bad (_("jump address range overflow (0x%lx)"),
(unsigned long) address_expr->X_add_number);
ip->insn_opcode |=
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 9523d48..159a617 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * gas/mips/jal-range.s: Fix jump overflow check.
+ * gas/mips/jal-range.l: Likewise.
+
2002-09-23 Nick Clifton <nickc@redhat.com>
* gas/arm/armv1-bad.s: Add LDM and STM instructions which are
diff --git a/gas/testsuite/gas/mips/jal-range.l b/gas/testsuite/gas/mips/jal-range.l
index 79a2509..3887e18 100644
--- a/gas/testsuite/gas/mips/jal-range.l
+++ b/gas/testsuite/gas/mips/jal-range.l
@@ -1,4 +1,4 @@
.*: Assembler messages:
-.*:5: Error: jump to misaligned address \(0x7fffffd\)
-.*:5: Error: jump address range overflow \(0x7fffffd\)
-.*:6: Error: jump address range overflow \(0x8000000\)
+.*:4: Error: jump to misaligned address \(0x1\)
+.*:6: Error: jump to misaligned address \(0xfffffff\)
+.*:7: Error: jump address range overflow \(0x10000000\)
diff --git a/gas/testsuite/gas/mips/jal-range.s b/gas/testsuite/gas/mips/jal-range.s
index 4d843b1..e52f560 100644
--- a/gas/testsuite/gas/mips/jal-range.s
+++ b/gas/testsuite/gas/mips/jal-range.s
@@ -1,6 +1,7 @@
# Source file use to test border cases of jumps
jal 0x0
- jal 0x7fffffc
- jal 0x7fffffd
- jal 0x8000000
+ jal 0x1
+ jal 0xffffffc
+ jal 0xfffffff
+ jal 0x10000000