> -----Original Message----- > From: Torbjorn SVENSSON <torbjorn.svens...@foss.st.com> > Sent: Wednesday, November 2, 2022 6:19 PM > To: gcc-patches@gcc.gnu.org > Cc: Kyrylo Tkachov <kyrylo.tkac...@arm.com> > Subject: PING^1 [PATCH] arm: Allow to override location of .gnu.sgstubs > section > > Hi, > > Ping, https://gcc.gnu.org/pipermail/gcc-patches/2022-October/603878.html >
Ok, thanks for pinging it. Kyrill > Kind regards, > Torbjörn > > On 2022-10-19 11:42, Torbjörn SVENSSON wrote: > > Depending on the DejaGNU board definition, the .gnu.sgstubs section > > might be placed on different locations in order to suite the target. > > With this patch, the start location of the section is overrideable > > from the board definition with the fallback of the previously > > hardcoded location. > > > > gcc/testsuite/ChangeLog: > > > > * gcc.target/arm/cmse/bitfield-1.c: Use overridable location. > > * gcc.target/arm/cmse/bitfield-2.c: Likewise. > > * gcc.target/arm/cmse/bitfield-3.c: Likewise. > > * gcc.target/arm/cmse/cmse-20.c: Likewise. > > * gcc.target/arm/cmse/struct-1.c: Likewise. > > * gcc.target/arm/cmse/cmse.exp (cmse_sgstubs): New. > > > > Signed-off-by: Torbjörn SVENSSON <torbjorn.svens...@foss.st.com> > > --- > > gcc/testsuite/gcc.target/arm/cmse/bitfield-1.c | 2 +- > > gcc/testsuite/gcc.target/arm/cmse/bitfield-2.c | 2 +- > > gcc/testsuite/gcc.target/arm/cmse/bitfield-3.c | 2 +- > > gcc/testsuite/gcc.target/arm/cmse/cmse-20.c | 2 +- > > gcc/testsuite/gcc.target/arm/cmse/cmse.exp | 11 +++++++++++ > > gcc/testsuite/gcc.target/arm/cmse/struct-1.c | 2 +- > > 6 files changed, 16 insertions(+), 5 deletions(-) > > > > diff --git a/gcc/testsuite/gcc.target/arm/cmse/bitfield-1.c > b/gcc/testsuite/gcc.target/arm/cmse/bitfield-1.c > > index 5685f744435..c1221bef29f 100644 > > --- a/gcc/testsuite/gcc.target/arm/cmse/bitfield-1.c > > +++ b/gcc/testsuite/gcc.target/arm/cmse/bitfield-1.c > > @@ -1,5 +1,5 @@ > > /* This test is executed only if the execution engine supports CMSE > instructions. */ > > -/* { dg-options "--save-temps -mcmse -Wl,--section- > start,.gnu.sgstubs=0x00400000" } */ > > +/* { dg-options "--save-temps -mcmse -Wl,--section- > start,.gnu.sgstubs=[cmse_sgstubs]" } */ > > > > typedef struct > > { > > diff --git a/gcc/testsuite/gcc.target/arm/cmse/bitfield-2.c > b/gcc/testsuite/gcc.target/arm/cmse/bitfield-2.c > > index 7a794d44644..79e9a3efc93 100644 > > --- a/gcc/testsuite/gcc.target/arm/cmse/bitfield-2.c > > +++ b/gcc/testsuite/gcc.target/arm/cmse/bitfield-2.c > > @@ -1,5 +1,5 @@ > > /* This test is executed only if the execution engine supports CMSE > instructions. */ > > -/* { dg-options "--save-temps -mcmse -Wl,--section- > start,.gnu.sgstubs=0x00400000" } */ > > +/* { dg-options "--save-temps -mcmse -Wl,--section- > start,.gnu.sgstubs=[cmse_sgstubs]" } */ > > > > typedef struct > > { > > diff --git a/gcc/testsuite/gcc.target/arm/cmse/bitfield-3.c > b/gcc/testsuite/gcc.target/arm/cmse/bitfield-3.c > > index 5875f8dff48..d621a802ee1 100644 > > --- a/gcc/testsuite/gcc.target/arm/cmse/bitfield-3.c > > +++ b/gcc/testsuite/gcc.target/arm/cmse/bitfield-3.c > > @@ -1,5 +1,5 @@ > > /* This test is executed only if the execution engine supports CMSE > instructions. */ > > -/* { dg-options "--save-temps -mcmse -Wl,--section- > start,.gnu.sgstubs=0x00400000" } */ > > +/* { dg-options "--save-temps -mcmse -Wl,--section- > start,.gnu.sgstubs=[cmse_sgstubs]" } */ > > > > typedef struct > > { > > diff --git a/gcc/testsuite/gcc.target/arm/cmse/cmse-20.c > b/gcc/testsuite/gcc.target/arm/cmse/cmse-20.c > > index 08e89bff637..bbea9358870 100644 > > --- a/gcc/testsuite/gcc.target/arm/cmse/cmse-20.c > > +++ b/gcc/testsuite/gcc.target/arm/cmse/cmse-20.c > > @@ -1,5 +1,5 @@ > > /* This test is executed only if the execution engine supports CMSE > instructions. */ > > -/* { dg-options "--save-temps -mcmse -Wl,--section- > start,.gnu.sgstubs=0x00400000" } */ > > +/* { dg-options "--save-temps -mcmse -Wl,--section- > start,.gnu.sgstubs=[cmse_sgstubs]" } */ > > > > #include <arm_cmse.h> > > #include <stdlib.h> > > diff --git a/gcc/testsuite/gcc.target/arm/cmse/cmse.exp > b/gcc/testsuite/gcc.target/arm/cmse/cmse.exp > > index 436dd71ef89..1df5d56c6d5 100644 > > --- a/gcc/testsuite/gcc.target/arm/cmse/cmse.exp > > +++ b/gcc/testsuite/gcc.target/arm/cmse/cmse.exp > > @@ -44,6 +44,17 @@ if {[is-effective-target arm_cmse_hw]} then { > > set saved-lto_torture_options ${LTO_TORTURE_OPTIONS} > > set LTO_TORTURE_OPTIONS "" > > > > +# Return the start address of the .gnu.sgstubs section. > > +proc cmse_sgstubs {} { > > + # Allow to override the location of .gnu.sgstubs section. > > + set tboard [target_info name] > > + if {[board_info $tboard exists cmse_sgstubs]} { > > + return [board_info $tboard cmse_sgstubs] > > + } > > + > > + return "0x00400000" > > +} > > + > > # These are for both baseline and mainline. > > gcc-dg-runtest [lsort [glob $srcdir/$subdir/*.c]] \ > > "" $DEFAULT_CFLAGS > > diff --git a/gcc/testsuite/gcc.target/arm/cmse/struct-1.c > b/gcc/testsuite/gcc.target/arm/cmse/struct-1.c > > index 75a99f487e7..bebd059b13f 100644 > > --- a/gcc/testsuite/gcc.target/arm/cmse/struct-1.c > > +++ b/gcc/testsuite/gcc.target/arm/cmse/struct-1.c > > @@ -1,5 +1,5 @@ > > /* This test is executed only if the execution engine supports CMSE > instructions. */ > > -/* { dg-options "--save-temps -mcmse -Wl,--section- > start,.gnu.sgstubs=0x00400000" } */ > > +/* { dg-options "--save-temps -mcmse -Wl,--section- > start,.gnu.sgstubs=[cmse_sgstubs]" } */ > > > > typedef struct > > {