OSDN Git Service

* ld-mips-elf/dyn-sec64.d, ld-mips-elf/dyn-sec64.s,
authorAdam Nemet <anemet@caviumnetworks.com>
Fri, 21 Mar 2008 16:29:26 +0000 (16:29 +0000)
committerAdam Nemet <anemet@caviumnetworks.com>
Fri, 21 Mar 2008 16:29:26 +0000 (16:29 +0000)
ld-mips-elf/dyn-sec64.ld: New test.
* ld-mips-elf/mips-elf.exp: Run it.

ld/testsuite/ChangeLog
ld/testsuite/ld-mips-elf/dyn-sec64.d [new file with mode: 0644]
ld/testsuite/ld-mips-elf/dyn-sec64.ld [new file with mode: 0644]
ld/testsuite/ld-mips-elf/dyn-sec64.s [new file with mode: 0644]
ld/testsuite/ld-mips-elf/mips-elf.exp

index 92a4488..be55dca 100644 (file)
@@ -1,3 +1,9 @@
+2008-03-21  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * ld-mips-elf/dyn-sec64.d, ld-mips-elf/dyn-sec64.s,
+       ld-mips-elf/dyn-sec64.ld: New test.
+       * ld-mips-elf/mips-elf.exp: Run it.
+
 2008-03-20  Richard Sandiford  <rsandifo@nildram.co.uk>
 
        * ld-mips-elf/got-dump-1.d, ld-mips-elf/got-dump-1.s,
diff --git a/ld/testsuite/ld-mips-elf/dyn-sec64.d b/ld/testsuite/ld-mips-elf/dyn-sec64.d
new file mode 100644 (file)
index 0000000..9564c11
--- /dev/null
@@ -0,0 +1,30 @@
+#name: objdump -p print 64-bit values
+#source: dyn-sec64.s
+#as: -mips3 -EB -64
+#ld: -Tdyn-sec64.ld -shared -melf64btsmip
+#objdump: -p
+
+.*: .* file format .*
+
+Program Header:
+.* LOAD .*
+.*
+.* LOAD .*
+.*
+.* DYNAMIC .*
+.*
+.* NULL .*
+.*
+
+Dynamic Section:
+
+  INIT .* 0x0001234000003000
+  FINI .* 0x0001234000004000
+  HASH .* 0x0001234000001000
+  STRTAB .*
+  SYMTAB .*
+  STRSZ .*
+  SYMENT .*
+  PLTGOT .* 0x0001235000000000
+  REL .* 0x0001234000002000
+#pass
diff --git a/ld/testsuite/ld-mips-elf/dyn-sec64.ld b/ld/testsuite/ld-mips-elf/dyn-sec64.ld
new file mode 100644 (file)
index 0000000..bb75d73
--- /dev/null
@@ -0,0 +1,23 @@
+SECTIONS
+{
+  . = 0x1234000000000;
+  .dynamic : { *(.dynamic) }
+  . = 0x1234000001000;
+  .hash : { *(.hash) }
+  .dynsym : { *(.dynsym) }
+  .dynstr : { *(.dynstr) }
+  . = 0x1234000002000;
+  .rel.dyn : { *(.rel.dyn) }
+
+  . = 0x1234000003000;
+  .init : { *(.init) }
+  . = 0x1234000004000;
+  .fini : { *(.fini) }
+  .text : { *(.text) }
+  .MIPS.stubs : { *(.MIPS.stubs) }
+
+  . = 0x1235000000000;
+  _gp = ALIGN (16) + 0x7ff0;
+  .got : { *(.got) }
+  .data : { *(.data) }
+}
diff --git a/ld/testsuite/ld-mips-elf/dyn-sec64.s b/ld/testsuite/ld-mips-elf/dyn-sec64.s
new file mode 100644 (file)
index 0000000..7d634ee
--- /dev/null
@@ -0,0 +1,19 @@
+        .section .init,"ax",@progbits
+       .globl  _init
+       .ent    _init
+       .type   _init, @function
+_init:
+        ld      $2,%call16(bar)
+       .end    _init
+
+        .section .fini,"ax",@progbits
+       .globl  _fini
+       .ent    _fini
+       .type   _fini, @function
+_fini:
+       .end    _fini
+
+       .data
+foo:
+       .dword  bar
+
index 96e42a9..86462f4 100644 (file)
@@ -154,6 +154,7 @@ if { $linux_gnu } {
     run_dump_test "got-page-1"
     if $has_newabi {
        run_dump_test "got-page-2"
+       run_dump_test "dyn-sec64"
     }
     run_dump_test "got-page-3"
     run_dump_test "got-dump-1"