aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorWei Mi <wmi@google.com>2014-05-19 05:25:45 +0000
committerWei Mi <wmi@gcc.gnu.org>2014-05-19 05:25:45 +0000
commiteba762930745e43af448961a38b0c607633820be (patch)
tree7a13caeb91d1e5b56b0d800b4885dc480a219b5a /gcc
parent2695eb1851a9f5b9b8101b0d573990d393dd300e (diff)
downloadgcc-eba762930745e43af448961a38b0c607633820be.zip
gcc-eba762930745e43af448961a38b0c607633820be.tar.gz
gcc-eba762930745e43af448961a38b0c607633820be.tar.bz2
re PR target/58066 (__tls_get_addr is called with misaligned stack on x86-64)
2014-05-18 Wei Mi <wmi@google.com> PR target/58066 * gcc.target/i386/pr58066.c: Replace pattern matching of .cfi directive with rtl insns. Add effective-target of fpic and tls_native. From-SVN: r210601
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.target/i386/pr58066.c8
2 files changed, 13 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 7e88596..753fdcf 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2014-05-18 Wei Mi <wmi@google.com>
+
+ PR target/58066
+ * gcc.target/i386/pr58066.c: Replace pattern matching of .cfi
+ directive with rtl insns. Add effective-target of fpic and
+ tls_native.
+
2014-05-17 Xinliang David Li <davidxl@google.com>
* g++.dg/ipa/devirt-33.C: New testcase.
diff --git a/gcc/testsuite/gcc.target/i386/pr58066.c b/gcc/testsuite/gcc.target/i386/pr58066.c
index 142e21d..c8feb4e 100644
--- a/gcc/testsuite/gcc.target/i386/pr58066.c
+++ b/gcc/testsuite/gcc.target/i386/pr58066.c
@@ -1,5 +1,7 @@
/* { dg-do compile } */
-/* { dg-options "-fPIC -O2" } */
+/* { dg-require-effective-target tls_native } */
+/* { dg-require-effective-target fpic } */
+/* { dg-options "-fPIC -fomit-frame-pointer -O2 -fdump-rtl-final" } */
/* Check whether the stack frame starting addresses of tls expanded calls
in foo and goo are 16bytes aligned. */
@@ -15,4 +17,6 @@ void* goo()
return &ccc2;
}
-/* { dg-final { scan-assembler-times ".cfi_def_cfa_offset 16" 2 } } */
+/* { dg-final { scan-rtl-dump "Function foo.*set\[^\r\n\]*sp\\)\[\r\n\]\[^\r\n\]*plus\[^\r\n\]*sp\\)\[\r\n\]\[^\r\n\]*const_int -8.*UNSPEC_TLS.*Function goo" "final" } } */
+/* { dg-final { scan-rtl-dump "Function goo.*set\[^\r\n\]*sp\\)\[\r\n\]\[^\r\n\]*plus\[^\r\n\]*sp\\)\[\r\n\]\[^\r\n\]*const_int -8.*UNSPEC_TLS" "final" } } */
+/* { dg-final { cleanup-rtl-dump "final" } } */