From: H.J. Lu Date: Sat, 20 Dec 2014 16:05:45 +0000 (-0800) Subject: Change SometimesInlineFunction to "return i * i * 3;" X-Git-Tag: gdb-7.9-branchpoint~178 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bd040da1dbb7e6640440f306ddf993af98441851;p=thirdparty%2Fbinutils-gdb.git Change SometimesInlineFunction to "return i * i * 3;" The debug_msg test has 2 implementations of SometimesInlineFunction: int SometimesInlineFunction(int i) { return i; } int SometimesInlineFunction(int i) { return i * i; } and One Definition Rule (ODR) violation detection expects they will be compiled into functions of different sizes. Hower, on x86, GCC 4.7 and newer compile them into functions of the same size and ODR violation detection test fails. This patch changes int SometimesInlineFunction(int i) { return i; } to int SometimesInlineFunction(int i) { return i * i * 3; } so that it will be compiled into a function of larger size. PR gold/14608 * testsuite/debug_msg.cc (SometimesInlineFunction): Changed to "return i * i * 3;". --- diff --git a/gold/ChangeLog b/gold/ChangeLog index 9edf043e752..f67df17b5b4 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,9 @@ +2014-12-20 H.J. Lu + + PR gold/14608 + * testsuite/debug_msg.cc (SometimesInlineFunction): Changed + to "return i * i * 3;". + 2014-12-16 Cary Coutant * mapfile.cc (Mapfile::print_input_section): Print uncompressed sizes. diff --git a/gold/testsuite/debug_msg.cc b/gold/testsuite/debug_msg.cc index e5beb5f9174..a48c1417d21 100644 --- a/gold/testsuite/debug_msg.cc +++ b/gold/testsuite/debug_msg.cc @@ -66,7 +66,7 @@ OdrBase* CreateOdrDerived2(); // in odr_violation2.cc extern "C" int OverriddenCFunction(int i); // in odr_violation*.cc inline int SometimesInlineFunction(int i) { // strong in odr_violation2.cc. - return i; + return i * i * 3; }