From 0efd41608649b56f097c83013b7f8c4404af06dd Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 8 Dec 2004 20:28:08 +0000 Subject: [PATCH] * ld-mips-elf/jaloverflow.d: New test. * ld-mips-elf/jaloverflow.s: New test. * ld-mips-elf/mips-elf.exp: Run it. --- ld/testsuite/ChangeLog | 6 ++++++ ld/testsuite/ld-mips-elf/jaloverflow.d | 11 +++++++++++ ld/testsuite/ld-mips-elf/jaloverflow.s | 12 ++++++++++++ ld/testsuite/ld-mips-elf/mips-elf.exp | 2 ++ 4 files changed, 31 insertions(+) create mode 100644 ld/testsuite/ld-mips-elf/jaloverflow.d create mode 100644 ld/testsuite/ld-mips-elf/jaloverflow.s diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 135aaa0..f7061ed 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2004-12-08 Ian Lance Taylor + + * ld-mips-elf/jaloverflow.d: New test. + * ld-mips-elf/jaloverflow.s: New test. + * ld-mips-elf/mips-elf.exp: Run it. + 2004-12-03 H.J. Lu * ld-elf/group1.d: Support 64bit. diff --git a/ld/testsuite/ld-mips-elf/jaloverflow.d b/ld/testsuite/ld-mips-elf/jaloverflow.d new file mode 100644 index 0000000..b77afe6 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/jaloverflow.d @@ -0,0 +1,11 @@ +#name: JAL overflow +#source: jaloverflow.s +#as: +#ld: -Ttext=0xffffff0 -e start +#error: .*relocation truncated to fit.* + +# This tests whether we correctly detect overflow in the jal +# instruction. jal is a bit weird since the upper four bits of the +# destination address are taken from the source address. So overflow +# occurs if the source and destination address do not have the same +# most significant four bits. diff --git a/ld/testsuite/ld-mips-elf/jaloverflow.s b/ld/testsuite/ld-mips-elf/jaloverflow.s new file mode 100644 index 0000000..4dd98b8 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/jaloverflow.s @@ -0,0 +1,12 @@ +# This file gets linked to start at 0xffffff0, so the call is an overflow. + .text + .global start + .set noreorder +start: + nop + nop + nop + nop + jal start + nop + .type start, @function diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp index c3417bc..0cc8489 100644 --- a/ld/testsuite/ld-mips-elf/mips-elf.exp +++ b/ld/testsuite/ld-mips-elf/mips-elf.exp @@ -79,3 +79,5 @@ if {$has_newabi && $linux_gnu} { run_dump_test "eh-frame1-n32" run_dump_test "eh-frame1-n64" } + +run_dump_test "jaloverflow" -- 2.7.4