From e10cfd063328872efa721b4a08b9d52486fb5878 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 1 May 2020 10:06:15 -0700 Subject: [PATCH] gold: Make Ordering::operator() even more complex GCC 9 generates the same function size for Ordering::operator() in odr_violation1.cc and odr_violation2.cc on x32: 134: 00000000 31 FUNC WEAK DEFAULT 64 _ZN8OrderingclEii 40: 00000000 31 FUNC GLOBAL DEFAULT 10 _ZN8OrderingclEii This patch makes Ordering::operator() even more complex 134: 00000000 31 FUNC WEAK DEFAULT 64 _ZN8OrderingclEii 42: 00000000 35 FUNC GLOBAL DEFAULT 11 _ZN8OrderingclEii * testsuite/odr_violation2.cc (Ordering::operator()): Make expression even more complex. --- gold/ChangeLog | 5 +++++ gold/testsuite/odr_violation2.cc | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gold/ChangeLog b/gold/ChangeLog index 7bc3893f349..97044b6f728 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,8 @@ +2020-05-01 H.J. Lu + + * testsuite/odr_violation2.cc (Ordering::operator()): Make + expression even more complex. + 2020-05-01 H.J. Lu * testsuite/ver_test_pr16504.sh: Updated. diff --git a/gold/testsuite/odr_violation2.cc b/gold/testsuite/odr_violation2.cc index aa9868fc27c..35dd454704b 100644 --- a/gold/testsuite/odr_violation2.cc +++ b/gold/testsuite/odr_violation2.cc @@ -12,7 +12,7 @@ class Ordering { bool Ordering::operator()(int a, int b) { // Optimization makes this operator() a different size than the one // in odr_violation1.cc. - return a + 12345 > b / 67; + return (a * 30 + b + 12345) > b / 67; } void SortDescending(int array[], int size) { -- 2.30.2