The implicit -mlong-calls from our vxworks configurations makes the tail-call instructions differ from those expected by the no_unique_address tests in gcc.target/arm.
This patch adds -mno-long-calls to the compilation commands, so that we generate the expected sequences. Regstrapped on x86_64-linux-gnu, also tested on arm-vxworks7r2. Ok to install? for gcc/testsuite/ChangeLog * gcc.target/arm/no_unique_address_1.C: Add -mno-long-calls. * gcc.target/arm/no_unique_address_2.C: Likewise. --- gcc/testsuite/g++.target/arm/no_unique_address_1.C | 2 +- gcc/testsuite/g++.target/arm/no_unique_address_2.C | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/testsuite/g++.target/arm/no_unique_address_1.C b/gcc/testsuite/g++.target/arm/no_unique_address_1.C index 038aa00a499e9..40fc68b374521 100644 --- a/gcc/testsuite/g++.target/arm/no_unique_address_1.C +++ b/gcc/testsuite/g++.target/arm/no_unique_address_1.C @@ -1,5 +1,5 @@ /* { dg-require-effective-target arm_arch_v8a_hard_ok } */ -/* { dg-options "-std=c++11 -O -foptimize-sibling-calls" } */ +/* { dg-options "-std=c++11 -O -foptimize-sibling-calls -mno-long-calls" } */ /* { dg-add-options arm_arch_v8a_hard } */ /* { dg-final { check-function-bodies "**" "" "" } } */ diff --git a/gcc/testsuite/g++.target/arm/no_unique_address_2.C b/gcc/testsuite/g++.target/arm/no_unique_address_2.C index 8be5de2539a38..b66b4d004965b 100644 --- a/gcc/testsuite/g++.target/arm/no_unique_address_2.C +++ b/gcc/testsuite/g++.target/arm/no_unique_address_2.C @@ -1,5 +1,5 @@ /* { dg-require-effective-target arm_arch_v8a_hard_ok } */ -/* { dg-options "-std=c++17 -O -foptimize-sibling-calls" } */ +/* { dg-options "-std=c++17 -O -foptimize-sibling-calls -mno-long-calls" } */ /* { dg-add-options arm_arch_v8a_hard } */ /* { dg-final { check-function-bodies "**" "" "" } } */ -- Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ Free Software Activist GNU Toolchain Engineer Vim, Vi, Voltei pro Emacs -- GNUlius Caesar