* ld-powerpc/tocopt2.s, * ld-powerpc/tocopt2.out,
authorAlan Modra <amodra@gmail.com>
Mon, 11 Jul 2011 12:03:55 +0000 (12:03 +0000)
committerAlan Modra <amodra@gmail.com>
Mon, 11 Jul 2011 12:03:55 +0000 (12:03 +0000)
* ld-powerpc/tocopt2.d: New test.
* ld-powerpc/tocopt3.s, * ld-powerpc/tocopt3.d: New test.
* ld-powerpc/powerpc.exp (ppc64elftests) Run them.

ld/testsuite/ChangeLog
ld/testsuite/ld-powerpc/powerpc.exp
ld/testsuite/ld-powerpc/tocopt2.d [new file with mode: 0644]
ld/testsuite/ld-powerpc/tocopt2.out [new file with mode: 0644]
ld/testsuite/ld-powerpc/tocopt2.s [new file with mode: 0644]
ld/testsuite/ld-powerpc/tocopt3.d [new file with mode: 0644]
ld/testsuite/ld-powerpc/tocopt3.s [new file with mode: 0644]

index 1e74f6f3db14d9e412021720693b05574c622709..4fe8d0c482061954b27f2ddc98ee2291260ec9e8 100644 (file)
@@ -1,3 +1,10 @@
+2011-07-11  Alan Modra  <amodra@gmail.com>
+
+       * ld-powerpc/tocopt2.s, * ld-powerpc/tocopt2.out,
+       * ld-powerpc/tocopt2.d: New test.
+       * ld-powerpc/tocopt3.s, * ld-powerpc/tocopt3.d: New test.
+       * ld-powerpc/powerpc.exp (ppc64elftests) Run them.
+
 2011-07-03  Samuel Thibault  <samuel.thibault@gnu.org>
            Thomas Schwinge  <thomas@schwinge.name>
 
index ef0a6e16da1ff6e98ac0175decd3a2033e5d5efa..bfffb42c5eeaec11096710a6538ba2ebe80da1ca 100644 (file)
@@ -204,7 +204,11 @@ set ppc64elftests {
     {"sym@tocbase" "-shared -melf64ppc" "-a64" {symtocbase-1.s symtocbase-2.s}
        {{objdump -dj.data symtocbase.d}} "symtocbase.so"}
     {"TOC opt" "-melf64ppc" "-a64"  {tocopt.s}
-     {{objdump -s tocopt.d}} "tocopt"}
+       {{objdump -s tocopt.d}} "tocopt"}
+    {"TOC opt2" "-melf64ppc --defsym x=2" "-a64"  {tocopt2.s}
+       {{ld tocopt2.out} {objdump -s tocopt2.d}} "tocopt2"}
+    {"TOC opt3" "-melf64ppc -no-keep-memory --defsym x=2" "-a64"  {tocopt3.s}
+       {{objdump -s tocopt3.d}} "tocopt3"}
 }
 
 
diff --git a/ld/testsuite/ld-powerpc/tocopt2.d b/ld/testsuite/ld-powerpc/tocopt2.d
new file mode 100644 (file)
index 0000000..174af27
--- /dev/null
@@ -0,0 +1,5 @@
+
+.*:     file format .*
+
+Contents of section \.text:
+ 100000b0 3d22effe 39297f4a .*
diff --git a/ld/testsuite/ld-powerpc/tocopt2.out b/ld/testsuite/ld-powerpc/tocopt2.out
new file mode 100644 (file)
index 0000000..9f29071
--- /dev/null
@@ -0,0 +1 @@
+.*: xt defined on removed toc entry
diff --git a/ld/testsuite/ld-powerpc/tocopt2.s b/ld/testsuite/ld-powerpc/tocopt2.s
new file mode 100644 (file)
index 0000000..8d07de0
--- /dev/null
@@ -0,0 +1,10 @@
+ .globl xt
+ .section .toc,"aw"
+xt:
+ .quad x
+
+ .globl _start
+ .text
+_start:
+ addis 9,2,xt@toc@ha
+ ld 9,xt@toc@l(9)
diff --git a/ld/testsuite/ld-powerpc/tocopt3.d b/ld/testsuite/ld-powerpc/tocopt3.d
new file mode 100644 (file)
index 0000000..174af27
--- /dev/null
@@ -0,0 +1,5 @@
+
+.*:     file format .*
+
+Contents of section \.text:
+ 100000b0 3d22effe 39297f4a .*
diff --git a/ld/testsuite/ld-powerpc/tocopt3.s b/ld/testsuite/ld-powerpc/tocopt3.s
new file mode 100644 (file)
index 0000000..abadbfa
--- /dev/null
@@ -0,0 +1,9 @@
+ .section .toc,"aw"
+0:
+ .quad x
+
+ .globl _start
+ .text
+_start:
+ addis 9,2,0b@toc@ha
+ ld 9,0b@toc@l(9)