After gdb-13-branchpoint-527-g46758593515 commit 4675859351582f017b495ff13fb2ea72a99834af Author: Tom Tromey tom@tromey.com
Rename to allow_ifunc_tests
the following benchmarks slowed down by more than 3%: - 465.tonto failed to build
Below reproducer instructions can be used to re-build both "first_bad" and "last_good" cross-toolchains used in this bisection. Naturally, the scripts will fail when triggerring benchmarking jobs if you don't have access to Linaro TCWG CI.
Configuration: - Benchmark: SPEC CPU2006 - Toolchain: GCC + Glibc + GNU Linker - Version: all components were built from their tip of trunk - Target: aarch64-linux-gnu - Compiler flags: -O3 - Hardware:
This benchmarking CI is work-in-progress, and we welcome feedback and suggestions at linaro-toolchain@lists.linaro.org . In our improvement plans is to add support for SPEC CPU2017 benchmarks and provide "perf report/annotate" data behind these reports.
THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
For latest status see comments in https://linaro.atlassian.net/browse/GNU-692 . Status of gdb-13-branchpoint-527-g46758593515 commit for tcwg_bmk-code_speed-spec2k6: commit 4675859351582f017b495ff13fb2ea72a99834af Author: Tom Tromey tom@tromey.com Date: Sun Jan 8 11:41:19 2023 -0700
Rename to allow_ifunc_tests
This changes skip_ifunc_tests to invert the sense, and renames it to allow_ifunc_tests. * gnu-aarch64-master-O3 ** After gdb-13-branchpoint-527-g46758593515 commit 4675859351582f017b495ff13fb2ea72a99834af ** Author: Tom Tromey tom@tromey.com ** ** Rename to allow_ifunc_tests ** ** the following benchmarks slowed down by more than 3%: ** - 465.tonto failed to build ** https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6-gnu-aarch64-master-O3-...
Bad build: https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6-gnu-aarch64-master-O3-... Good build: https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6-gnu-aarch64-master-O3-...
Reproduce current build: <cut> mkdir -p investigate-binutils-4675859351582f017b495ff13fb2ea72a99834af cd investigate-binutils-4675859351582f017b495ff13fb2ea72a99834af
# Fetch scripts git clone https://git.linaro.org/toolchain/jenkins-scripts
# Fetch manifests for bad and good builds mkdir -p bad/artifacts good/artifacts curl -o bad/artifacts/manifest.sh https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6-gnu-aarch64-master-O3-... --fail curl -o good/artifacts/manifest.sh https://ci.linaro.org/job/tcwg_bmk-code_speed-spec2k6-gnu-aarch64-master-O3-... --fail
# Reproduce bad build (cd bad; ../jenkins-scripts/tcwg_bmk-build.sh ^^ true %%rr[top_artifacts] artifacts) # Reproduce good build (cd good; ../jenkins-scripts/tcwg_bmk-build.sh ^^ true %%rr[top_artifacts] artifacts) </cut>
Full commit (up to 1000 lines): <cut> commit 4675859351582f017b495ff13fb2ea72a99834af Author: Tom Tromey tom@tromey.com Date: Sun Jan 8 11:41:19 2023 -0700
Rename to allow_ifunc_tests
This changes skip_ifunc_tests to invert the sense, and renames it to allow_ifunc_tests. --- gdb/testsuite/gdb.base/gnu-ifunc.exp | 2 +- gdb/testsuite/gdb.compile/compile-ifunc.exp | 2 +- gdb/testsuite/lib/gdb.exp | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/gdb/testsuite/gdb.base/gnu-ifunc.exp b/gdb/testsuite/gdb.base/gnu-ifunc.exp index 967d1e053e7..81119f764b8 100644 --- a/gdb/testsuite/gdb.base/gnu-ifunc.exp +++ b/gdb/testsuite/gdb.base/gnu-ifunc.exp @@ -13,7 +13,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see http://www.gnu.org/licenses/.
-require !skip_shlib_tests !skip_ifunc_tests +require !skip_shlib_tests allow_ifunc_tests
standard_testfile .c set staticexecutable ${testfile}-static diff --git a/gdb/testsuite/gdb.compile/compile-ifunc.exp b/gdb/testsuite/gdb.compile/compile-ifunc.exp index bfbe65a503b..990d35a53f6 100644 --- a/gdb/testsuite/gdb.compile/compile-ifunc.exp +++ b/gdb/testsuite/gdb.compile/compile-ifunc.exp @@ -15,7 +15,7 @@
load_lib compile-support.exp
-require !skip_ifunc_tests +require allow_ifunc_tests
standard_testfile
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 7143908bbc2..3a1936ffc82 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -3972,17 +3972,17 @@ gdb_caching_proc has_int128_cxx { return [gdb_int128_helper c++] }
-# Return true if the IFUNC feature is unsupported. -gdb_caching_proc skip_ifunc_tests { +# Return true if the IFUNC feature is supported. +gdb_caching_proc allow_ifunc_tests { if [gdb_can_simple_compile ifunc { extern void f_ (); typedef void F (void); F* g (void) { return &f_; } void f () __attribute__ ((ifunc ("g"))); } object] { - return 0 - } else { return 1 + } else { + return 0 } }
</cut>