public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* ppc64_elf_edit_toc segfault tests
@ 2011-07-11 12:53 Alan Modra
  0 siblings, 0 replies; only message in thread
From: Alan Modra @ 2011-07-11 12:53 UTC (permalink / raw)
  To: binutils

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2011-07-11 12:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-11 12:53 ppc64_elf_edit_toc segfault tests Alan Modra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).