diff options
author | Thomas Preud'homme <thomas.preudhomme@linaro.org> | 2018-10-25 10:19:49 +0000 |
---|---|---|
committer | Thomas Preud'homme <thopre01@gcc.gnu.org> | 2018-10-25 10:19:49 +0000 |
commit | 541eccada375ed8309ab805e0a4df146ac07fc2d (patch) | |
tree | 2af6730900abf22c291c54691070c865ef1294c8 /gcc | |
parent | 7852940e7bbeae3c40cdc6c61356099216bde688 (diff) | |
download | gcc-541eccada375ed8309ab805e0a4df146ac07fc2d.zip gcc-541eccada375ed8309ab805e0a4df146ac07fc2d.tar.gz gcc-541eccada375ed8309ab805e0a4df146ac07fc2d.tar.bz2 |
[testsuite] Fix sibcall-9 & sibcall-10 with -fPIC
gcc.dg/sibcall-9.c and gcc.dg/sibcall-10.c give execution failure
on ARM when compiled with -fPIC due to the PIC access to volatile
variable v creating an extra spill which causes the frame size of the
two recursive functions to be different. Making the variable static
solve the issue because the variable can be access in a PC-relative way
and avoid the spill, while still testing sibling call as originally
intended.
2018-10-25 Thomas Preud'homme <thomas.preudhomme@linaro.org>
gcc/testsuite/
* gcc.dg/sibcall-9.c: Make v static.
* gcc.dg/sibcall-10.c: Likewise.
From-SVN: r265482
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/sibcall-10.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/sibcall-9.c | 2 |
3 files changed, 7 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6a50e92..23b2190 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-10-25 Thomas Preud'homme <thomas.preudhomme@linaro.org> + + * gcc.dg/sibcall-9.c: Make v static. + * gcc.dg/sibcall-10.c: Likewise. + 2018-10-25 Richard Biener <rguenther@suse.de> PR tree-optimization/87665 diff --git a/gcc/testsuite/gcc.dg/sibcall-10.c b/gcc/testsuite/gcc.dg/sibcall-10.c index 54cc604..4acca50 100644 --- a/gcc/testsuite/gcc.dg/sibcall-10.c +++ b/gcc/testsuite/gcc.dg/sibcall-10.c @@ -31,7 +31,7 @@ extern void exit (int); static ATTR void recurser_void1 (void); static ATTR void recurser_void2 (void); extern void track (void); -volatile int v; +static volatile int v; int n = 0; int main () diff --git a/gcc/testsuite/gcc.dg/sibcall-9.c b/gcc/testsuite/gcc.dg/sibcall-9.c index fc3bd9d..32b2e1d 100644 --- a/gcc/testsuite/gcc.dg/sibcall-9.c +++ b/gcc/testsuite/gcc.dg/sibcall-9.c @@ -31,7 +31,7 @@ extern void exit (int); static ATTR void recurser_void1 (int); static ATTR void recurser_void2 (int); extern void track (int); -volatile int v; +static volatile int v; int main () { |