On May 27, 2020, Christophe Lyon via Gcc <gcc@gcc.gnu.org> wrote: > On Wed, 27 May 2020 at 16:26, Jeff Law via Gcc <gcc@gcc.gnu.org> wrote:
>> Any thoughts on the massive breakage on the embedded ports in the testsuite? I wasn't aware of any. Indeed, one of my last steps before submitting the patchset was to fix problems that had come up in embedded ports, with gcc_adjust_linker_flags and corresponding changes to outputs.exp itself. >> Essentially every test that links is failing like this: >> >> > Executing on host: /home/jenkins/workspace/c6x-elf/c6x-elf-obj/gcc/gcc/xgcc >> > -B/home/jenkins/workspace/c6x-elf/c6x-elf-obj/gcc/gcc/ >> > /home/jenkins/gcc/gcc/testsuite/gcc.c-torture/execute/20000112-1.c >> > gcc_tg.o -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers >> > -fdiagnostics-color=never -fdiagnostics-urls=never -O0 -w -msim {} >> > {} - >> > Wl,-wrap,exit -Wl,-wrap,_exit -Wl,-wrap,main -Wl,-wrap,abort -lm -o >> > ./20000112-1.exe (timeout = 300) >> > spawn -ignore SIGHUP >> > /home/jenkins/workspace/c6x-elf/c6x-elf-obj/gcc/gcc/xgcc >> > -B/home/jenkins/workspace/c6x-elf/c6x-elf-obj/gcc/gcc/ >> > /home/jenkins/gcc/gcc/testsuite/gcc.c-torture/execute/20000112-1.c gcc_tg.o >> > -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers >> > -fdiagnostics- >> > color=never -fdiagnostics-urls=never -O0 -w -msim -Wl,-wrap,exit -Wl,- >> > wrap,_exit -Wl,-wrap,main -Wl,-wrap,abort -lm -o ./20000112-1.exe^M >> > xgcc: error: : No such file or directory^M >> Sadly there's no additional output that would help us figure out what went >> wrong. > If that helps, I traced this down to the new gcc_adjust_linker_flags function. Thanks. Yeah, H-P observed and submitted a similar report that made me wonder about empty arguments being passed to GCC. Jeff's report confirms the suspicion. See how there are a couple of {}s after -msim in the "Executing on host" line, that in the "spawn" line are completely invisible, only suggested by the extra whitespace. That was not quite visible in H-P's report, but Jeff's makes it clear. I suppose this means there are consecutive blanks in e.g. board's ldflags, and the split function is turning each consecutive pair of blanks into an empty argument. I'm testing a fix (kludge?) in refs/users/aoliva/heads/testme 169b13d14d3c1638e94ea7e8f718cdeaf88aed65 -- Alexandre Oliva, freedom fighter he/him https://FSFLA.org/blogs/lxo/ Free Software Evangelist Stallman was right, but he's left :( GNU Toolchain Engineer Live long and free, and prosper ethically