On 5/25/23 13:26, Thomas Schwinge wrote:
I'm pasting a snippet of gcc.log. Issue is indeed triggered by rvv.exp
which needs some love.
I'd intentionally asked to "see a complete 'gcc.log' file where the
ERRORs are visible".
The full log files are humongous - even xz compressed is ~ 7 MB - how
can I share that w/o the list dropping it.
I guess I can try emailing it you directly on work email - if that's OK.
The torture-{init,finish} needs to be in riscv.exp not rvv.exp
Running full tests now.
I still don't understand this.
My current theory would be that some other '*.exp' file runs
'torture-init' and then prematurely ends without 'torture-finish', and
thus the torture testing state bleeds into the next '*.exp' file(s). I'd
hoped that I could pinpoint that via "a complete 'gcc.log' file where the
ERRORs are visible".
Seems likely. So back to good old printf style debugging: I added
dumping of the dup options to see what exactly was leaking.
setup #1
- riscv.exp: Added torture-init/finish
- Deleted rvv.exp (to isolate the problem)
Leaking toggles are from torture-options.exp where the debug prints
themselves are added.
A trimmed version of gcc.log is at [1]
--->8-----
Running
/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/pru/pru.exp
...
testcase
/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/pru/pru.exp
completed in 0 seconds
Running
/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp
...
ERROR: tcl error sourcing
/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp.
ERROR: tcl error code NONE
ERROR: torture-init: LTO_TORTURE_OPTIONS is not empty as expected = "{
-O2 -flto -fno-use-linker-plugin -flto-partition=none } { -O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects }"
while executing
"error "torture-init: LTO_TORTURE_OPTIONS is not empty as expected =
\"${LTO_TORTURE_OPTIONS}\"""
invoked from within
"if [info exists LTO_TORTURE_OPTIONS] {
error "torture-init: LTO_TORTURE_OPTIONS is not empty as expected
= \"${LTO_TORTURE_OPTIONS}\""
}"
(procedure "torture-init" line 12)
invoked from within
"torture-init"
(file
"/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp"
line 44)
invoked from within
"source
/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp"
("uplevel" body line 1)
invoked from within
"uplevel #0 source
/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp"
invoked from within
"catch "uplevel #0 source $test_file_name" msg"
UNRESOLVED: testcase
'/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp'
aborted due to Tcl error
testcase
/scratch/vineetg/gnu/toolchain-upstream/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp
completed in 0 seconds
--->8---
Setup #2
- riscv.exp: Added torture-init/finish
- riscv.exp: commented away ADDITIONAL_TORTURE_OPTIONS line
- rvv.exp remains, unchanged
This has more errors since I'm actually running all multilib variants.
--->8---
testcase
/scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.target/riscv/riscv.exp
completed in 0 seconds
Running
/scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp
...
ERROR: tcl error sourcing
/scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp.
ERROR: tcl error code NONE
ERROR: torture-init: LTO_TORTURE_OPTIONS is not empty as expected = "{
-O2 -flto -fno-use-linker-plugin -flto-partition=none } { -O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects }"
while executing
"error "torture-init: LTO_TORTURE_OPTIONS is not empty as expected =
\"${LTO_TORTURE_OPTIONS}\"""
invoked from within
"if [info exists LTO_TORTURE_OPTIONS] {
error "torture-init: LTO_TORTURE_OPTIONS is not empty as expected
= \"${LTO_TORTURE_OPTIONS}\""
}"
(procedure "torture-init" line 12)
invoked from within
"torture-init"
(file
"/scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp"
line 42)
invoked from within
"source
/scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp"
("uplevel" body line 1)
invoked from within
"uplevel #0 source
/scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp"
invoked from within
"catch "uplevel #0 source $test_file_name" msg"
UNRESOLVED: testcase
'/scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.target/riscv/rvv/rvv.exp'
aborted due to Tcl error
...
Running
/scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
...
ERROR: tcl error sourcing
/scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp.
ERROR: tcl error code NONE
ERROR: torture-init: torture_without_loops is not empty as expected = "{
-O0 } { -O1 } { -O2 } { -O3 -g } { -Os } { -O2 -flto
-fno-use-linker-plugin -flto-partition=none } { -O2 -flto
-fuse-linker-plugin -fno-fat-lto-objects }"
while executing
"error "torture-init: torture_without_loops is not empty as expected =
\"${torture_without_loops}\"""
invoked from within
"if [info exists torture_without_loops] {
error "torture-init: torture_without_loops is not empty as expected
= \"${torture_without_loops}\""
}"
(procedure "torture-init" line 4)
invoked from within
"torture-init"
(file
"/scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp"
line 37)
invoked from within
"source
/scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp"
("uplevel" body line 1)
invoked from within
"uplevel #0 source
/scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp"
invoked from within
"catch "uplevel #0 source $test_file_name" msg"
UNRESOLVED: testcase
'/scratch/vineetg/gnu/toolchain-upstream2/gcc/gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp'
aborted due to Tcl error
...
--->8---
[1] https://paste.debian.net/1281237/ # this is redacted as this
paste bin can