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: Thu, 23 Jun 2022 05:10:25 +0000 (GMT) [thread overview] Message-ID: <20220623051025.9B4C23895FF7@sourceware.org> (raw) https://gcc.gnu.org/g:81029fc334518e05e08f4ddb5c2b4437c900b2ef commit 81029fc334518e05e08f4ddb5c2b4437c900b2ef 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 two_plus_gigs effective target, that checks for the ability to link a program with 2GiB 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_two_plus_gigs): New. * doc/sourcebuild.exp (Environment attributes): Document it. * gcc.target/aarch64/symbol-range.c: Link only on two_plus_gigs targets, compile otherwise. Diff: --- gcc/doc/sourcebuild.texi | 3 +++ gcc/testsuite/gcc.target/aarch64/symbol-range.c | 3 ++- gcc/testsuite/lib/target-supports.exp | 9 +++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index 606ab85a116..3696a58fbf2 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -2681,6 +2681,9 @@ Target supports @code{sysconf}. @item trampolines Target supports trampolines. +@item two_plus_gigs +Target supports linking programs with 2+GiB of data. + @item uclibc Target supports uClibc. diff --git a/gcc/testsuite/gcc.target/aarch64/symbol-range.c b/gcc/testsuite/gcc.target/aarch64/symbol-range.c index d8e82fa1b28..6b15f087202 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 two_plus_gigs } } */ +/* { dg-do compile { target { ! two_plus_gigs } } } */ /* { 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..20171f9d985 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_two_plus_gigs { } { + return [check_no_compiler_messages two_plus_gigs executable { + int dummy[0x80000000]; + int main () { return 0; } + }] +} + # Return 1 if we're generating 32-bit code using default options, 0 # otherwise.
next reply other threads:[~2022-06-23 5:10 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-06-23 5:10 Alexandre Oliva [this message] -- strict thread matches above, loose matches on Subject: below -- 2022-06-22 5:22 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=20220623051025.9B4C23895FF7@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: linkBe 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).