public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/65109] New: [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test
@ 2015-02-18 14:32 trippels at gcc dot gnu.org
  2015-02-18 15:47 ` [Bug target/65109] " rguenth at gcc dot gnu.org
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-02-18 14:32 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

            Bug ID: 65109
           Summary: [5 Regression] r220674 causes FAIL:
                    gcc.target/powerpc/ppc64-abi-1.c execution test
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: trippels at gcc dot gnu.org
                CC: rth at gcc dot gnu.org
              Host: powerpc64-unknown-linux-gnu
            Target: powerpc64-unknown-linux-gnu
             Build: powerpc64-unknown-linux-gnu

Since r220674 gcc.target/powerpc/ppc64-abi-1.c fails on gcc112:

trippels@gcc2-power8 testsuite % ~/gcc_test/usr/local/bin/gcc -g -O2
gcc.target/powerpc/ppc64-abi-1.c
trippels@gcc2-power8 testsuite % gdb ./a.out
Reading symbols from ./a.out...done.
(gdb) run
Starting program: /home/trippels/gcc/gcc/testsuite/a.out 

Program received signal SIGABRT, Aborted.
0x00003fffb7dcdc80 in .raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00003fffb7dcdc80 in .raise () from /lib64/libc.so.6
#1  0x00003fffb7dcfc84 in .abort () from /lib64/libc.so.6
#2  0x0000000010000d40 in fididisdsid (c=c@entry=1, ff=<optimized out>,
ff@entry=1, d=<optimized out>, d@entry=2, ld=<optimized out>, f=<optimized
out>, f@entry=-1, s=..., 
    gg=<optimized out>, t=..., e=e@entry=6, hh=<optimized out>) at
gcc.target/powerpc/ppc64-abi-1.c:298
#3  0x00000000100005a4 in main () at gcc.target/powerpc/ppc64-abi-1.c:360

286 void __attribute__ ((noinline))
287 fididisdsid (int c, double ff, int d, double ld, int f,
288              sparm s, double gg, sparm t, int e, double hh)
289 {
290   stack_frame_t *sp;
291   reg_parms_t lparms;
292   double_t dx, dy;
293
294   save_parms (lparms);
295
296   /* Parm 0: int.  */
297   if ((long) c != lparms.gprs[0])
298     abort ();
299


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test
  2015-02-18 14:32 [Bug target/65109] New: [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test trippels at gcc dot gnu.org
@ 2015-02-18 15:47 ` rguenth at gcc dot gnu.org
  2015-02-19 16:35 ` rth at gcc dot gnu.org
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-02-18 15:47 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1
   Target Milestone|---                         |5.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test
  2015-02-18 14:32 [Bug target/65109] New: [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test trippels at gcc dot gnu.org
  2015-02-18 15:47 ` [Bug target/65109] " rguenth at gcc dot gnu.org
@ 2015-02-19 16:35 ` rth at gcc dot gnu.org
  2015-02-19 17:28 ` trippels at gcc dot gnu.org
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: rth at gcc dot gnu.org @ 2015-02-19 16:35 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

Richard Henderson <rth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2015-02-19
           Assignee|unassigned at gcc dot gnu.org      |rth at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #1 from Richard Henderson <rth at gcc dot gnu.org> ---
Mine.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test
  2015-02-18 14:32 [Bug target/65109] New: [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test trippels at gcc dot gnu.org
  2015-02-18 15:47 ` [Bug target/65109] " rguenth at gcc dot gnu.org
  2015-02-19 16:35 ` rth at gcc dot gnu.org
@ 2015-02-19 17:28 ` trippels at gcc dot gnu.org
  2015-02-19 18:16 ` msebor at gmail dot com
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-02-19 17:28 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hpenner at de dot ibm.com

--- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
CCing author.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test
  2015-02-18 14:32 [Bug target/65109] New: [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test trippels at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2015-02-19 17:28 ` trippels at gcc dot gnu.org
@ 2015-02-19 18:16 ` msebor at gmail dot com
  2015-02-19 18:17 ` msebor at gmail dot com
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: msebor at gmail dot com @ 2015-02-19 18:16 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

--- Comment #4 from Martin Sebor <msebor at gmail dot com> ---
There's the following comment in the test:

/* Testcase could break on future gcc's, if parameter regs                      
   are changed before this asm.  */

Moving the locals out of the function lets the test pass.  The attached patch
eliminates the local copy of the volatile reg_parms_t struct as well as the sp
pointer and moves the remaining locals out of all the test functions to
minimize the risk of the volatile registers getting clobbered before they are
saved.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test
  2015-02-18 14:32 [Bug target/65109] New: [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test trippels at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2015-02-19 18:16 ` msebor at gmail dot com
@ 2015-02-19 18:17 ` msebor at gmail dot com
  2015-02-20 18:59 ` rth at gcc dot gnu.org
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: msebor at gmail dot com @ 2015-02-19 18:17 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

--- Comment #5 from Martin Sebor <msebor at gmail dot com> ---
Created attachment 34809
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34809&action=edit
Test patch to let it pass.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test
  2015-02-18 14:32 [Bug target/65109] New: [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test trippels at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2015-02-19 18:17 ` msebor at gmail dot com
@ 2015-02-20 18:59 ` rth at gcc dot gnu.org
  2015-02-20 20:20 ` law at redhat dot com
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: rth at gcc dot gnu.org @ 2015-02-20 18:59 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

--- Comment #7 from Richard Henderson <rth at gcc dot gnu.org> ---
(In reply to Jeffrey A. Law from comment #6)
> Does the test pass if the schedulers are turned off?

No.  That was the first thing I tried when investigating it.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test
  2015-02-18 14:32 [Bug target/65109] New: [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test trippels at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2015-02-20 18:59 ` rth at gcc dot gnu.org
@ 2015-02-20 20:20 ` law at redhat dot com
  2015-02-20 20:29 ` msebor at gcc dot gnu.org
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: law at redhat dot com @ 2015-02-20 20:20 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

--- Comment #8 from Jeffrey A. Law <law at redhat dot com> ---
Yea, I should have realized you'd try that.

The other thought that comes to mind is __builtin_saveregs, but that doesn't
seem to be implemented on PPC, and even if it was implemented we'd need some
way to find the address of the save area.

My inclination is to go with Martin's patch.  At first glance it doesn't appear
to compromise the intent of the test.  I'll look at it more deeply when I get
back after a short errand.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test
  2015-02-18 14:32 [Bug target/65109] New: [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test trippels at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2015-02-20 20:20 ` law at redhat dot com
@ 2015-02-20 20:29 ` msebor at gcc dot gnu.org
  2015-02-20 22:50 ` msebor at gcc dot gnu.org
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: msebor at gcc dot gnu.org @ 2015-02-20 20:29 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

--- Comment #9 from Martin Sebor <msebor at gcc dot gnu.org> ---
The test failure can be avoided by using -fstore-float.

The failure is caused by comparing f4 and f9 after f9 has been read from a
stack location that hasn't been written to 

   0x0000000010000bac <+92>:    stfd    f4,88(r11)
   ...
   0x0000000010000bc0 <+112>:    stfd    f9,128(r11)
   ...
   0x0000000010000c1c <+204>:    lfd     f9,-32544(r2)
   ...
   0x0000000010000cac <+348>:    fcmpu   cr7,f4,f9
   0x0000000010000cb0 <+352>:    bne-    cr7,0x10000ccc <fididisdsid+380>
   ...
   0x0000000010000ccc <+380>:    bl      0x10000414
<0000003b.plt_call.abort@@GLIB


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test
  2015-02-18 14:32 [Bug target/65109] New: [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test trippels at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2015-02-20 20:29 ` msebor at gcc dot gnu.org
@ 2015-02-20 22:50 ` msebor at gcc dot gnu.org
  2015-02-20 22:56 ` law at redhat dot com
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: msebor at gcc dot gnu.org @ 2015-02-20 22:50 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

--- Comment #10 from Martin Sebor <msebor at gcc dot gnu.org> ---
Created attachment 34821
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34821&action=edit
Patch to make the test less subject to register clobbering.

FWIW, I agree with Richard that the test is overly fragile.  I have attached
another patch that attempts to make the test more reliable by splitting up each
test function into two, one that does nothing but save the volatile registers
(thus reducing the risk of them getting clobbered by other code), and another
that then verifies their values.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test
  2015-02-18 14:32 [Bug target/65109] New: [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test trippels at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2015-02-20 22:50 ` msebor at gcc dot gnu.org
@ 2015-02-20 22:56 ` law at redhat dot com
  2015-02-20 23:19 ` law at redhat dot com
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: law at redhat dot com @ 2015-02-20 22:56 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

--- Comment #11 from Jeffrey A. Law <law at redhat dot com> ---
Martin,

Looks good to me.  Can you write a quick ChangeLog for the patch, then post it
to gcc-patches@gcc.gnu.org

Something like


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test
  2015-02-18 14:32 [Bug target/65109] New: [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test trippels at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2015-02-20 22:56 ` law at redhat dot com
@ 2015-02-20 23:19 ` law at redhat dot com
  2015-02-21 21:55 ` msebor at gcc dot gnu.org
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: law at redhat dot com @ 2015-02-20 23:19 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

--- Comment #12 from Jeffrey A. Law <law at redhat dot com> ---
Martin,

Looks good to me.  Can you write a quick ChangeLog for the patch, then post it
to gcc-patches@gcc.gnu.org

Something like

        PR target/65109
        * gcc.target/powerpc/ppc64-abi-1.c: Split test functions into two
        parts.  One to save registers, the other to verify the registers
        have the right values.  Save register state into static data rather
        than on the stack.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test
  2015-02-18 14:32 [Bug target/65109] New: [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test trippels at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2015-02-20 23:19 ` law at redhat dot com
@ 2015-02-21 21:55 ` msebor at gcc dot gnu.org
  2015-02-23 22:46 ` law at gcc dot gnu.org
  2015-02-23 22:58 ` law at redhat dot com
  13 siblings, 0 replies; 15+ messages in thread
From: msebor at gcc dot gnu.org @ 2015-02-21 21:55 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

--- Comment #13 from Martin Sebor <msebor at gcc dot gnu.org> ---
The patch has been posted:
http://gcc.gnu.org/ml/gcc-patches/2015-02/msg01324.html


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test
  2015-02-18 14:32 [Bug target/65109] New: [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test trippels at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2015-02-21 21:55 ` msebor at gcc dot gnu.org
@ 2015-02-23 22:46 ` law at gcc dot gnu.org
  2015-02-23 22:58 ` law at redhat dot com
  13 siblings, 0 replies; 15+ messages in thread
From: law at gcc dot gnu.org @ 2015-02-23 22:46 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

--- Comment #14 from Jeffrey A. Law <law at gcc dot gnu.org> ---
Author: law
Date: Mon Feb 23 21:46:18 2015
New Revision: 220920

URL: https://gcc.gnu.org/viewcvs?rev=220920&root=gcc&view=rev
Log:
    PR target/65109
    * gcc.target/powerpc/ppc64-abi-1.c: Split test functions into
    two parts.  One to save registers, the other to verify the
    registers have the right values.  Save register state into
    static data rather than on the stack.

Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.target/powerpc/ppc64-abi-1.c


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Bug target/65109] [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test
  2015-02-18 14:32 [Bug target/65109] New: [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test trippels at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2015-02-23 22:46 ` law at gcc dot gnu.org
@ 2015-02-23 22:58 ` law at redhat dot com
  13 siblings, 0 replies; 15+ messages in thread
From: law at redhat dot com @ 2015-02-23 22:58 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65109

Jeffrey A. Law <law at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #15 from Jeffrey A. Law <law at redhat dot com> ---
Fixed on trunk.


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2015-02-23 21:49 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-18 14:32 [Bug target/65109] New: [5 Regression] r220674 causes FAIL: gcc.target/powerpc/ppc64-abi-1.c execution test trippels at gcc dot gnu.org
2015-02-18 15:47 ` [Bug target/65109] " rguenth at gcc dot gnu.org
2015-02-19 16:35 ` rth at gcc dot gnu.org
2015-02-19 17:28 ` trippels at gcc dot gnu.org
2015-02-19 18:16 ` msebor at gmail dot com
2015-02-19 18:17 ` msebor at gmail dot com
2015-02-20 18:59 ` rth at gcc dot gnu.org
2015-02-20 20:20 ` law at redhat dot com
2015-02-20 20:29 ` msebor at gcc dot gnu.org
2015-02-20 22:50 ` msebor at gcc dot gnu.org
2015-02-20 22:56 ` law at redhat dot com
2015-02-20 23:19 ` law at redhat dot com
2015-02-21 21:55 ` msebor at gcc dot gnu.org
2015-02-23 22:46 ` law at gcc dot gnu.org
2015-02-23 22:58 ` law at redhat dot com

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).