From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17810 invoked by alias); 22 Jul 2014 19:14:56 -0000 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 Received: (qmail 17795 invoked by uid 89); 22 Jul 2014 19:14:55 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-HELO: qmta08.emeryville.ca.mail.comcast.net Received: from qmta08.emeryville.ca.mail.comcast.net (HELO qmta08.emeryville.ca.mail.comcast.net) (76.96.30.80) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 22 Jul 2014 19:14:54 +0000 Received: from omta04.emeryville.ca.mail.comcast.net ([76.96.30.35]) by qmta08.emeryville.ca.mail.comcast.net with comcast id VWLs1o0030lTkoCA8XEsEz; Tue, 22 Jul 2014 19:14:52 +0000 Received: from [IPv6:2001:558:6045:a4:40c6:7199:cd03:b02d] ([IPv6:2001:558:6045:a4:40c6:7199:cd03:b02d]) by omta04.emeryville.ca.mail.comcast.net with comcast id VXEr1o00H2ztT3H8QXEr4f; Tue, 22 Jul 2014 19:14:52 +0000 Content-Type: multipart/mixed; boundary="Apple-Mail=_A784D152-C852-497C-8444-F3E134E362C8" Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: [PATCH][AArch64][tests]Skip graphite tests that don't fit -mcmodel=tiny From: Mike Stump In-Reply-To: <53CE448E.4060109@arm.com> Date: Tue, 22 Jul 2014 20:40:00 -0000 Cc: GCC Patches , Marcus Shawcroft Message-Id: <558B280E-4993-4FC6-9A57-A12ECB4A9B10@comcast.net> References: <53CE448E.4060109@arm.com> To: Kyrill Tkachov X-IsSubscribed: yes X-SW-Source: 2014-07/txt/msg01478.txt.bz2 --Apple-Mail=_A784D152-C852-497C-8444-F3E134E362C8 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 Content-length: 1320 On Jul 22, 2014, at 4:01 AM, Kyrill Tkachov wrote: > These tests use very large arrays as part of their loop interchange testi= ng so they don't fit into the 1MiB binary size limit imposed by -mcmodel=3D= tiny. This causes errors at link-time. > Ok to commit? So the test suite should be used to figure this out as marking the individu= al test cases is a never ending and ever changing. I can a big test case o= n my system, and found: ld: address 0xc401ad0 of a.out section `.data' is not within region `SRAM' ld: a.out section `.ctors' will not fit in region `SRAM' ld: address 0xc401ad0 of a.out section `.data' is not within region `SRAM' ld: region `SRAM' overflowed by 155196160 bytes for large test cases. After looking at the current gld sources, it seems t= hat they merely changed the spelling of the error message and we=92ve not k= ept up. Please try the patch below and tell me if it works for you. If it= doesn=92t, what messages do you see and what tool are they from? Vendor, = program and version would be nice to know.=20 If it works, feel free to check it in. If you want to replicate the 4 line= s and add a case for the vendor=92s tool, that=92d be a better way to handl= e it. The below should handle a variety of GNU ld situations (but not all = of them). --Apple-Mail=_A784D152-C852-497C-8444-F3E134E362C8 Content-Disposition: attachment; filename=full.diffs.txt Content-Type: text/plain; name="full.diffs.txt" Content-Transfer-Encoding: quoted-printable Content-length: 2009 diff --git a/gcc/testsuite/lib/gcc-defs.exp b/gcc/testsuite/lib/gcc-defs.exp index 69a5971..58c6a9f 100644 --- a/gcc/testsuite/lib/gcc-defs.exp +++ b/gcc/testsuite/lib/gcc-defs.exp @@ -154,7 +154,7 @@ proc ${tool}_exit { } { # =20 proc ${tool}_check_unsupported_p { output } { - if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* is full" $output] { + if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* (is full|overflowed by )" = $output] { return "memory full" } if { [istarget spu-*-*] && \ diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp index a758d47..bc6ba97 100644 --- a/gcc/testsuite/lib/gcc-dg.exp +++ b/gcc/testsuite/lib/gcc-dg.exp @@ -225,10 +225,11 @@ proc gcc-dg-prune { system text } { } } =20 - # If we see "region xxx is full" then the testcase is too big for ram. - # This is tricky to deal with in a large testsuite like c-torture so - # deal with it here. Just mark the testcase as unsupported. - if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* is full" $text] { + # If we see "region xxx is full" or "region xxx overflowed by " + # then the testcase is too big for ram. This is tricky to deal + # with in a large testsuite like c-torture so deal with it here. + # Just mark the testcase as unsupported. + if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* (is full|overflowed by )" = $text] { # The format here is important. See dg.exp. return "::unsupported::memory full" } diff --git a/gcc/testsuite/lib/objc.exp b/gcc/testsuite/lib/objc.exp index 5ecefa9..6a1c2e7 100644 --- a/gcc/testsuite/lib/objc.exp +++ b/gcc/testsuite/lib/objc.exp @@ -354,7 +354,7 @@ if { [info procs prune_warnings] =3D=3D "" } then { # gld so we can tell what the error text will look like. =20 proc ${tool}_check_unsupported_p { output } { - if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* is full" $output] { + if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* (is full|overflowed by )" = $output] { return "memory full" } return "" --Apple-Mail=_A784D152-C852-497C-8444-F3E134E362C8--