From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15782 invoked by alias); 12 Aug 2007 10:02:14 -0000 Received: (qmail 15468 invoked by uid 22791); 12 Aug 2007 10:02:12 -0000 X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sun, 12 Aug 2007 10:02:10 +0000 Received: (qmail 14815 invoked from network); 12 Aug 2007 10:02:08 -0000 Received: from unknown (HELO gateway) (10.0.0.100) by mail.codesourcery.com with SMTP; 12 Aug 2007 10:02:08 -0000 Received: by gateway (Postfix, from userid 1010) id A3EEB6C12E; Sun, 12 Aug 2007 03:02:08 -0700 (PDT) From: Richard Sandiford To: gcc-patches@gcc.gnu.org Mail-Followup-To: gcc-patches@gcc.gnu.org, richard@codesourcery.com Subject: RFA: Skip SH interrupt tests for PIC flags Date: Sun, 12 Aug 2007 10:02:00 -0000 Message-ID: <877io1m5pc.fsf@firetop.home> User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2007-08/txt/msg00771.txt.bz2 gcc.dg has several SH interrupt tests that fail on VxWorks for -mrtp -fPIC. Of course, interrupt functions are not something you'd normally use SVR4- or RTP-style PIC for, but for completeness: attr-isr-nosave_low_regs.c pragma-isr-nosave_low_regs.c - Checks that we don't save and restore r8-r13, but we need to save and restore r12 (the global pointer). - Checks that a low register doesn't appear before a comma, but r0 appears in "(r0,r12)" GOT accesses. attr-isr-trapa.c pragma-isr-trapa.c - Checks that there are no occurences of r8-r13, but we again need r12. attr-isr.c pragma-isr-trapa2.c - As for attr-isr-trapa.c. - Checks for a certain number of low-register references, but GOT loads mean that there are more "r0,"s than expected. Is the patch below OK? Tested on sh-wrs-vxworks. Richard gcc/testsuite/ * gcc.dg/attr-isr.c: Skip for PIC. * gcc.dg/attr-isr-nosave_low_regs.c: Likewise. * gcc.dg/attr-isr-trapa.c: Likewise. * gcc.dg/pragma-isr-nosave_low_regs.c: Likewise. * gcc.dg/pragma-isr-trapa.c: Likewise. * gcc.dg/pragma-isr-trapa2.c: Likewise. Index: gcc/testsuite/gcc.dg/attr-isr.c =================================================================== --- gcc/testsuite/gcc.dg/attr-isr.c (revision 127359) +++ gcc/testsuite/gcc.dg/attr-isr.c (working copy) @@ -1,4 +1,4 @@ -/* { dg-do compile { target sh-*-* sh[1234ble]*-*-*} } */ +/* { dg-do compile { target { { sh-*-* sh[1234ble]*-*-* } && nonpic } } } */ /* { dg-options "-O" } */ extern void foo (); Index: gcc/testsuite/gcc.dg/attr-isr-nosave_low_regs.c =================================================================== --- gcc/testsuite/gcc.dg/attr-isr-nosave_low_regs.c (revision 127359) +++ gcc/testsuite/gcc.dg/attr-isr-nosave_low_regs.c (working copy) @@ -1,4 +1,4 @@ -/* { dg-do compile { target sh-*-* sh[1234ble]*-*-*} } */ +/* { dg-do compile { target { { sh-*-* sh[1234ble]*-*-* } && nonpic } } } */ /* { dg-options "-O" } */ extern void bar (); Index: gcc/testsuite/gcc.dg/attr-isr-trapa.c =================================================================== --- gcc/testsuite/gcc.dg/attr-isr-trapa.c (revision 127359) +++ gcc/testsuite/gcc.dg/attr-isr-trapa.c (working copy) @@ -1,4 +1,4 @@ -/* { dg-do compile { target sh-*-* sh[1234ble]*-*-*} } */ +/* { dg-do compile { target { { sh-*-* sh[1234ble]*-*-* } && nonpic } } } */ /* { dg-options "-O" } */ extern void foo (); Index: gcc/testsuite/gcc.dg/pragma-isr-nosave_low_regs.c =================================================================== --- gcc/testsuite/gcc.dg/pragma-isr-nosave_low_regs.c (revision 127359) +++ gcc/testsuite/gcc.dg/pragma-isr-nosave_low_regs.c (working copy) @@ -1,4 +1,4 @@ -/* { dg-do compile { target sh-*-* sh[1234ble]*-*-*} } */ +/* { dg-do compile { target { { sh-*-* sh[1234ble]*-*-* } && nonpic } } } */ /* { dg-options "-O" } */ extern void foo (); #pragma interrupt Index: gcc/testsuite/gcc.dg/pragma-isr-trapa.c =================================================================== --- gcc/testsuite/gcc.dg/pragma-isr-trapa.c (revision 127359) +++ gcc/testsuite/gcc.dg/pragma-isr-trapa.c (working copy) @@ -1,4 +1,4 @@ -/* { dg-do compile { target sh-*-* sh[1234ble]*-*-*} } */ +/* { dg-do compile { target { { sh-*-* sh[1234ble]*-*-* } && nonpic } } } */ /* { dg-options "-O" } */ extern void foo (); #pragma trapa Index: gcc/testsuite/gcc.dg/pragma-isr-trapa2.c =================================================================== --- gcc/testsuite/gcc.dg/pragma-isr-trapa2.c (revision 127359) +++ gcc/testsuite/gcc.dg/pragma-isr-trapa2.c (working copy) @@ -1,4 +1,4 @@ -/* { dg-do compile { target sh-*-* sh4*-*-*} } */ +/* { dg-do compile { target { { sh-*-* sh4*-*-* } && nonpic } } } */ /* { dg-options "-O -m4" } */ extern void foo ();