public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
From: Alexandre Oliva <aoliva@gcc.gnu.org>
To: gcc-cvs@gcc.gnu.org
Subject: [gcc(refs/users/aoliva/heads/testme)] aarch64: testsuite: symbol-range fallback to compile
Date: Wed, 22 Jun 2022 05:22:19 +0000 (GMT)	[thread overview]
Message-ID: <20220622052219.5EC48383574E@sourceware.org> (raw)

https://gcc.gnu.org/g:c8fff73c4558250940030aeaf293318a07f56de6

commit c8fff73c4558250940030aeaf293318a07f56de6
Author: Alexandre Oliva <oliva@adacore.com>
Date:   Mon Jun 20 19:43:45 2022 -0300

    aarch64: testsuite: symbol-range fallback to compile
    
    On some of our embedded aarch64 targets, RAM size is too small for
    this test to fit.  It doesn't look like this test requires linking,
    and if it does, the -tiny version may presumably get most of the
    coverage without going overboard in target system requirements.
    
    Still, linking may be useful, so introduce a TwoPlusGigs effective
    target, that checks for the ability to link a program with 2GB of
    sbss, and use that to select whether to link or just compile
    symbol-range.c.
    
    
    for  gcc/testsuite/ChangeLog
    
            * lib/target-supports.exp
            (check_effective_target_TwoPlusGigs): New.
            * gcc.target/aarch64/symbol-range.c: Link only on
            TwoPlusGigs targets, compile otherwise.

Diff:
---
 gcc/testsuite/gcc.target/aarch64/symbol-range.c | 3 ++-
 gcc/testsuite/lib/target-supports.exp           | 9 +++++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/gcc/testsuite/gcc.target/aarch64/symbol-range.c b/gcc/testsuite/gcc.target/aarch64/symbol-range.c
index d8e82fa1b28..f9a916c7ae2 100644
--- a/gcc/testsuite/gcc.target/aarch64/symbol-range.c
+++ b/gcc/testsuite/gcc.target/aarch64/symbol-range.c
@@ -1,4 +1,5 @@
-/* { dg-do link } */
+/* { dg-do link { target TwoPlusGigs } } */
+/* { dg-do compile { target { ! TwoPlusGigs } } } */
 /* { dg-options "-O3 -save-temps -mcmodel=small" } */
 
 char fixed_regs[0x80000000];
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index d1f4eb7641f..0507d6e617f 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2906,6 +2906,15 @@ proc check_effective_target_le { } {
     }]
 }
 
+# Return 1 if we can link a program with 2+GB of data.
+
+proc check_effective_target_TwoPlusGigs { } {
+    return [check_no_compiler_messages TwoPlusGigs executable {
+	int dummy[0x80000000];
+	int main () { return 0; }
+    }]
+}
+
 # Return 1 if we're generating 32-bit code using default options, 0
 # otherwise.


             reply	other threads:[~2022-06-22  5:22 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-22  5:22 Alexandre Oliva [this message]
2022-06-23  5:10 Alexandre Oliva

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220622052219.5EC48383574E@sourceware.org \
    --to=aoliva@gcc.gnu.org \
    --cc=gcc-cvs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).