From: Thomas Preud'homme Date: Thu, 25 Oct 2018 10:19:49 +0000 (+0000) Subject: [testsuite] Fix sibcall-9 & sibcall-10 with -fPIC X-Git-Tag: basepoints/gcc-10~3522 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=541eccada375ed8309ab805e0a4df146ac07fc2d;p=thirdparty%2Fgcc.git [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 gcc/testsuite/ * gcc.dg/sibcall-9.c: Make v static. * gcc.dg/sibcall-10.c: Likewise. From-SVN: r265482 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6a50e92905be..23b21906534c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-10-25 Thomas Preud'homme + + * gcc.dg/sibcall-9.c: Make v static. + * gcc.dg/sibcall-10.c: Likewise. + 2018-10-25 Richard Biener PR tree-optimization/87665 diff --git a/gcc/testsuite/gcc.dg/sibcall-10.c b/gcc/testsuite/gcc.dg/sibcall-10.c index 54cc604aecf6..4acca50e3e4f 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 fc3bd9dcf162..32b2e1d5d614 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 () {