This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: mips rel32/64 to section symbol
- From: Alexandre Oliva <aoliva at redhat dot com>
- To: binutils at sources dot redhat dot com
- Date: 11 Mar 2003 15:05:34 -0300
- Subject: Re: mips rel32/64 to section symbol
- Organization: GCC Team, Red Hat
- References: <or65qqhb3v.fsf@free.redhat.lsd.ic.unicamp.br>
On Mar 10, 2003, Alexandre Oliva <aoliva at redhat dot com> wrote:
> I'll put this in only [...] after I come up with testcases for
> the linker to make sure this doesn't regress.
Here are the tests. Ok to install?
Index: ld/testsuite/ChangeLog
from Alexandre Oliva <aoliva at redhat dot com>
* 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.
Index: ld/testsuite/ld-mips-elf/mips-elf.exp
===================================================================
RCS file: /cvs/uberbaum/ld/testsuite/ld-mips-elf/mips-elf.exp,v
retrieving revision 1.8
diff -u -p -r1.8 mips-elf.exp
--- ld/testsuite/ld-mips-elf/mips-elf.exp 28 Jan 2003 00:01:53 -0000 1.8
+++ ld/testsuite/ld-mips-elf/mips-elf.exp 11 Mar 2003 18:01:52 -0000
@@ -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]]
@@ -33,6 +34,13 @@ if { [istarget mips*-*-*] } then {
# Test multi-got link.
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.
Index: ld/testsuite/ld-mips-elf/rel32-n32.d
===================================================================
RCS file: ld/testsuite/ld-mips-elf/rel32-n32.d
diff -N ld/testsuite/ld-mips-elf/rel32-n32.d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-mips-elf/rel32-n32.d 11 Mar 2003 18:01:52 -0000
@@ -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 ................
Index: ld/testsuite/ld-mips-elf/rel32-o32.d
===================================================================
RCS file: ld/testsuite/ld-mips-elf/rel32-o32.d
diff -N ld/testsuite/ld-mips-elf/rel32-o32.d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-mips-elf/rel32-o32.d 11 Mar 2003 18:01:52 -0000
@@ -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 ................
Index: ld/testsuite/ld-mips-elf/rel32.s
===================================================================
RCS file: ld/testsuite/ld-mips-elf/rel32.s
diff -N ld/testsuite/ld-mips-elf/rel32.s
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-mips-elf/rel32.s 11 Mar 2003 18:01:52 -0000
@@ -0,0 +1,4 @@
+ .space 16
+.Lfoo:
+ .word .Lfoo
+ .space 16
Index: ld/testsuite/ld-mips-elf/rel64.d
===================================================================
RCS file: ld/testsuite/ld-mips-elf/rel64.d
diff -N ld/testsuite/ld-mips-elf/rel64.d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-mips-elf/rel64.d 11 Mar 2003 18:01:52 -0000
@@ -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 ................
Index: ld/testsuite/ld-mips-elf/rel64.s
===================================================================
RCS file: ld/testsuite/ld-mips-elf/rel64.s
diff -N ld/testsuite/ld-mips-elf/rel64.s
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-mips-elf/rel64.s 11 Mar 2003 18:01:52 -0000
@@ -0,0 +1,4 @@
+ .space 16
+.Lfoo:
+ .dword .Lfoo
+ .space 16
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva at {redhat dot com, gcc.gnu.org}
CS PhD student at IC-Unicamp oliva at {lsd dot ic dot unicamp dot br, gnu.org}
Free Software Evangelist Professional serial bug killer