This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
ppc64_elf_edit_toc segfault tests
- From: Alan Modra <amodra at gmail dot com>
- To: binutils at sourceware dot org
- Date: Mon, 11 Jul 2011 21:35:17 +0930
- Subject: ppc64_elf_edit_toc segfault tests
This adds tests for two segfaults existing in ppc64_elf_edit toc
before http://sourceware.org/ml/binutils/2011-02/msg00067.html and the
followup patches.
* 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.
Index: ld/testsuite/ld-powerpc/powerpc.exp
===================================================================
RCS file: /cvs/src/src/ld/testsuite/ld-powerpc/powerpc.exp,v
retrieving revision 1.33
diff -u -p -r1.33 powerpc.exp
--- ld/testsuite/ld-powerpc/powerpc.exp 23 Mar 2011 15:25:06 -0000 1.33
+++ ld/testsuite/ld-powerpc/powerpc.exp 11 Jul 2011 07:53:35 -0000
@@ -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"}
}
Index: ld/testsuite/ld-powerpc/tocopt2.d
===================================================================
RCS file: ld/testsuite/ld-powerpc/tocopt2.d
diff -N ld/testsuite/ld-powerpc/tocopt2.d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-powerpc/tocopt2.d 11 Jul 2011 07:53:35 -0000
@@ -0,0 +1,5 @@
+
+.*: file format .*
+
+Contents of section \.text:
+ 100000b0 3d22effe 39297f4a .*
Index: ld/testsuite/ld-powerpc/tocopt2.out
===================================================================
RCS file: ld/testsuite/ld-powerpc/tocopt2.out
diff -N ld/testsuite/ld-powerpc/tocopt2.out
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-powerpc/tocopt2.out 11 Jul 2011 07:53:35 -0000
@@ -0,0 +1 @@
+.*: xt defined on removed toc entry
Index: ld/testsuite/ld-powerpc/tocopt2.s
===================================================================
RCS file: ld/testsuite/ld-powerpc/tocopt2.s
diff -N ld/testsuite/ld-powerpc/tocopt2.s
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-powerpc/tocopt2.s 11 Jul 2011 07:53:35 -0000
@@ -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)
Index: ld/testsuite/ld-powerpc/tocopt3.d
===================================================================
RCS file: ld/testsuite/ld-powerpc/tocopt3.d
diff -N ld/testsuite/ld-powerpc/tocopt3.d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-powerpc/tocopt3.d 11 Jul 2011 07:53:35 -0000
@@ -0,0 +1,5 @@
+
+.*: file format .*
+
+Contents of section \.text:
+ 100000b0 3d22effe 39297f4a .*
Index: ld/testsuite/ld-powerpc/tocopt3.s
===================================================================
RCS file: ld/testsuite/ld-powerpc/tocopt3.s
diff -N ld/testsuite/ld-powerpc/tocopt3.s
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ld/testsuite/ld-powerpc/tocopt3.s 11 Jul 2011 07:53:35 -0000
@@ -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)
--
Alan Modra
Australia Development Lab, IBM