From 48fe7bdacc15bbf455243d1d7d26231aa8292f04 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Tue, 11 Mar 2003 19:20:16 +0000 Subject: [PATCH] * ld-mips-elf/mips-elf.exp (linux_gnu): New variable. Add: * ld-mips-elf/rel32-o32.d, ld-mips-elf/rel32-n32.d, ld-mips-elf/rel64.d, ld-mips-elf/rel32.s, ld-mips-elf/rel64.s: New tests. --- ld/testsuite/ChangeLog | 7 +++++++ ld/testsuite/ld-mips-elf/mips-elf.exp | 10 +++++++++- ld/testsuite/ld-mips-elf/rel32-n32.d | 16 ++++++++++++++++ ld/testsuite/ld-mips-elf/rel32-o32.d | 16 ++++++++++++++++ ld/testsuite/ld-mips-elf/rel32.s | 4 ++++ ld/testsuite/ld-mips-elf/rel64.d | 19 +++++++++++++++++++ ld/testsuite/ld-mips-elf/rel64.s | 4 ++++ 7 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 ld/testsuite/ld-mips-elf/rel32-n32.d create mode 100644 ld/testsuite/ld-mips-elf/rel32-o32.d create mode 100644 ld/testsuite/ld-mips-elf/rel32.s create mode 100644 ld/testsuite/ld-mips-elf/rel64.d create mode 100644 ld/testsuite/ld-mips-elf/rel64.s diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 048d36e6a6..299ade0c9a 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2003-03-11 Alexandre Oliva + + * ld-mips-elf/mips-elf.exp (linux_gnu): New variable. Add: + * ld-mips-elf/rel32-o32.d, ld-mips-elf/rel32-n32.d, + ld-mips-elf/rel64.d, ld-mips-elf/rel32.s, ld-mips-elf/rel64.s: New + tests. + 2003-03-11 Alan Modra * ld-powerpc/tlsso.r: Adjust for corrected zero symbol index relocs. diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp index a75f4db0d9..d206bd4287 100644 --- a/ld/testsuite/ld-mips-elf/mips-elf.exp +++ b/ld/testsuite/ld-mips-elf/mips-elf.exp @@ -1,5 +1,5 @@ # Expect script for MIPS ELF linker tests -# Copyright 2002 Free Software Foundation, Inc. +# Copyright 2002, 2003 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -20,6 +20,7 @@ if { [istarget mips*-*-*] } then { set elf [expr [istarget mips*-*-elf] || [istarget mips*-*-linux*] || \ [istarget mips*-*-netbsd] || [istarget mips*-*-irix*]] + set linux_gnu [expr [istarget mips*-*-linux*]] set embedded_elf [expr [istarget mips*-*-elf]] @@ -34,6 +35,13 @@ if { [istarget mips*-*-*] } then { run_dump_test "multi-got-1" } + if { $linux_gnu } { + run_dump_test "rel32-o32" + run_dump_test "rel32-n32" + run_dump_test "rel64" + } + + if { $embedded_elf } { # Check basic Embedded-PIC PC-relative HI/LO relocs. run_dump_test "empic1-ln" diff --git a/ld/testsuite/ld-mips-elf/rel32-n32.d b/ld/testsuite/ld-mips-elf/rel32-n32.d new file mode 100644 index 0000000000..a9233c4616 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/rel32-n32.d @@ -0,0 +1,16 @@ +#name: MIPS rel32 n32 +#source: rel32.s +#as: -KPIC -n32 +#readelf: -x 5 -r +#ld: -shared -melf32btsmipn32 + +Relocation section '.rel.dyn' at offset 0x3d0 contains 2 entries: + Offset Info Type Sym.Value Sym. Name +00000000 00000000 R_MIPS_NONE +000003f0 00000003 R_MIPS_REL32 + +Hex dump of section '.text': + 0x000003e0 00000000 00000000 00000000 00000000 ................ + 0x000003f0 000003f0 00000000 00000000 00000000 ................ + 0x00000400 00000000 00000000 00000000 00000000 ................ + 0x00000410 00000000 00000000 00000000 00000000 ................ diff --git a/ld/testsuite/ld-mips-elf/rel32-o32.d b/ld/testsuite/ld-mips-elf/rel32-o32.d new file mode 100644 index 0000000000..7bcad7baec --- /dev/null +++ b/ld/testsuite/ld-mips-elf/rel32-o32.d @@ -0,0 +1,16 @@ +#name: MIPS rel32 o32 +#source: rel32.s +#as: -KPIC -32 +#readelf: -x 6 -r +#ld: -shared -melf32btsmip + +Relocation section '.rel.dyn' at offset 0x3e0 contains 2 entries: + Offset Info Type Sym.Value Sym. Name +00000000 00000000 R_MIPS_NONE +00000400 00000003 R_MIPS_REL32 + +Hex dump of section '.text': + 0x000003f0 00000000 00000000 00000000 00000000 ................ + 0x00000400 00000400 00000000 00000000 00000000 ................ + 0x00000410 00000000 00000000 00000000 00000000 ................ + 0x00000420 00000000 00000000 00000000 00000000 ................ diff --git a/ld/testsuite/ld-mips-elf/rel32.s b/ld/testsuite/ld-mips-elf/rel32.s new file mode 100644 index 0000000000..dad4670fb4 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/rel32.s @@ -0,0 +1,4 @@ + .space 16 +.Lfoo: + .word .Lfoo + .space 16 diff --git a/ld/testsuite/ld-mips-elf/rel64.d b/ld/testsuite/ld-mips-elf/rel64.d new file mode 100644 index 0000000000..f2289b0b5f --- /dev/null +++ b/ld/testsuite/ld-mips-elf/rel64.d @@ -0,0 +1,19 @@ +#name: MIPS rel64 n64 +#source: rel64.s +#as: -KPIC -64 +#readelf: -x 6 -r +#ld: -shared -melf64btsmip + +Relocation section '.rel.dyn' at offset 0x5b0 contains 2 entries: + Offset Info Type Sym. Value Sym. Name +000000000000 000000000000 R_MIPS_NONE + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +0000000005e0 000000001203 R_MIPS_REL32 + Type2: R_MIPS_64 + Type3: R_MIPS_NONE + +Hex dump of section '.text': + 0x000005d0 00000000 00000000 00000000 00000000 ................ + 0x000005e0 00000000 000005e0 00000000 00000000 ................ + 0x000005f0 00000000 00000000 00000000 00000000 ................ diff --git a/ld/testsuite/ld-mips-elf/rel64.s b/ld/testsuite/ld-mips-elf/rel64.s new file mode 100644 index 0000000000..3971eb8c09 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/rel64.s @@ -0,0 +1,4 @@ + .space 16 +.Lfoo: + .dword .Lfoo + .space 16 -- 2.34.1