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>
ci_notify@linaro.org writes:
After gdb-13-branchpoint-527-g46758593515 commit 4675859351582f017b495ff13fb2ea72a99834af Author: Tom Tromey tom@tromey.com
Rename to allow_ifunc_tests
This is a GDB commit so I had a look at this failure. The commit can't be responsible for it though, because it only changes some .exp files in the GDB testsuite.
the following benchmarks slowed down by more than 3%:
- 465.tonto failed to build
I couldn't find the actual build failure in the job artifacts, so I ran the instructions for reproducing the failure on my dev container in tcwg-jade-03. It did fail, but with a slightly different error:
416.gamess failed to build.
I suppose this is GCC's test gcc/testsuite/gfortran.dg/fmt_read_5.f, so I went to directory abe/builds/aarch64-unknown-linux-gnu/aarch64-linux-gnu/gcc-gcc.git~master-stage2/gcc and ran:
$ make check-fortran RUNTESTFLAGS=dg.exp=fmt_read_5.f
Which passed, so I'm stuck now.
Regarding the failure of 465.tonto in the original CI report, I couldn't find any GCC test that could be related to it.
Thiago,
This is a false alarm.. Sorry about that.
This has nothing to do with gdb, it complains about a spec2006 benchmark. not even a gcc testsuite issue. It is just a benchmark instability build issue.
tonto benchmark was unstable due to an issue when parallelizing make, with remote compilation (gfortran), and local changes at the same time (preprocessing). A fix is already used for spec2017, and proposed the same fix for spec2006 : - https://review.linaro.org/c/toolchain/jenkins-scripts/+/42996 - https://review.linaro.org/c/toolchain/bmk-scripts/+/42997
For details, the compilation error trace can be seen here : bkp-01.tcwglab:/home/tcwg-benchmark/results-tx1_64/tcwg_bmk-code_speed-spec2k6/build-gnu-aarch64-master-O3/24149/tcwg-bmk-tx1-04.tcwglab/CPU2006.serial.log.debug.build.1
1674108293.46: /home/tcwg-benchmark/tcwg-bmk-tx1-04.tcwglab/cpu2006-tx1_64-1/bin/ssh-serial-gfortran -O3 -fdump-statistics-asmname -fdump-tree-vect-details -save-temps=obj -Qn -c -o coppensbasisvec.fppized.o coppensbasisvec.fppized.f90 1674108293.56: coppensbasisvec.fppized.f90:985:10:
1674108293.56: 985 | type(c 1674108293.56: | 1 1674108293.56: Error: Malformed type-spec at (1) 1674108293.56: f951: Error: Unexpected end of file in 'coppensbasisvec.fppized.f90' 1674108293.56: specmake: *** [coppensbasisvec.fppized.o] Error 1 1674108293.56: specmake: *** Waiting for unfinished jobs.... 1674108298.79: Tee child 1483 exited with code 512 (exit code=2, signal=0)
It failed when building, then, when bisecting it failed sometimes, and passes some others.. which happens to finally find one commit. I would say randomly.
Regards
Le 20/01/2023 à 23:53, Thiago Jung Bauermann a écrit :
ci_notify@linaro.org writes:
After gdb-13-branchpoint-527-g46758593515 commit 4675859351582f017b495ff13fb2ea72a99834af Author: Tom Tromeytom@tromey.com
Rename to allow_ifunc_tests
This is a GDB commit so I had a look at this failure. The commit can't be responsible for it though, because it only changes some .exp files in the GDB testsuite.
the following benchmarks slowed down by more than 3%:
- 465.tonto failed to build
I couldn't find the actual build failure in the job artifacts, so I ran the instructions for reproducing the failure on my dev container in tcwg-jade-03. It did fail, but with a slightly different error:
416.gamess failed to build.
I suppose this is GCC's test gcc/testsuite/gfortran.dg/fmt_read_5.f, so I went to directory abe/builds/aarch64-unknown-linux-gnu/aarch64-linux-gnu/gcc-gcc.git~master-stage2/gcc and ran:
$ make check-fortran RUNTESTFLAGS=dg.exp=fmt_read_5.f
Which passed, so I'm stuck now.
Regarding the failure of 465.tonto in the original CI report, I couldn't find any GCC test that could be related to it.
Hello Laurent,
Laurent Alfonsi laurent.alfonsi@linaro.org writes:
Thiago,
This is a false alarm.. Sorry about that.
No problem. Thank you for explaining the issue to me, and especially for fixing it!
linaro-toolchain@lists.linaro.org