Got it, I used to regard this test case as targeting at test if the const data would use the ".rodata" section. Palmer Dabbelt 于2022年11月18日周五 07:59写道: > On Thu, 17 Nov 2022 13:50:00 PST (-0800), gcc-patches@gcc.gnu.org wrote: > > > > On 11/17/22 02:53, Yixuan Chen wrote: > >> 2022-11-17 Yixuan Chen > >> > >> * gcc/testsuite/gcc.dg/pr25521.c: Add compile option > "-msmall-data-limit=0" to avoid using .srodata section for riscv. > >> --- > >> gcc/testsuite/gcc.dg/pr25521.c | 3 ++- > >> 1 file changed, 2 insertions(+), 1 deletion(-) > >> > >> diff --git a/gcc/testsuite/gcc.dg/pr25521.c > b/gcc/testsuite/gcc.dg/pr25521.c > >> index 74fe2ae6626..628ddf1a761 100644 > >> --- a/gcc/testsuite/gcc.dg/pr25521.c > >> +++ b/gcc/testsuite/gcc.dg/pr25521.c > >> @@ -2,7 +2,8 @@ > >> sections. > >> > >> { dg-require-effective-target elf } > >> - { dg-do compile } */ > >> + { dg-do compile } > >> + { dg-options "-msmall-data-limit=0" { target { riscv*-*-* } } } */ > >> > >> const volatile int foo = 30; > >> > > > > Wouldn't this be better? It avoids a target specific conditional by > > instead extending what we look for to cover [s]rodata sections. > > > > > > Thoughts? > > > > Jeff > > diff --git a/gcc/testsuite/gcc.dg/pr25521.c > b/gcc/testsuite/gcc.dg/pr25521.c > > index 74fe2ae6626..63363a03b9f 100644 > > --- a/gcc/testsuite/gcc.dg/pr25521.c > > +++ b/gcc/testsuite/gcc.dg/pr25521.c > > @@ -7,4 +7,4 @@ > > const volatile int foo = 30; > > > > > > -/* { dg-final { scan-assembler "\\.rodata" } } */ > > +/* { dg-final { scan-assembler "\\.s\?rodata" } } */ > > That's how I usually do it for these tests, there's some other targets > with sdata too so it fixes the test for everyone. IIRC I said something > like that in the v1, but sorry if I'm just getting it confused with some > other patch. > > There's a few of these that need to get chased down for every release, > maybe we should add some sort of DG hepler? Not sure that'd keep folks > from matching on .data, though... >