Hi Maciej,
sorry for the late reply.

On 2020/2/1 5:46 AM, Maciej W. Rozycki wrote:
On Tue, 21 Jan 2020, Maciej W. Rozycki wrote:

  I'll give your proposal a shot and I'm lucky enough to have a build
configuration where I can have no compiler preinstalled, so at least I can
check if testing with your change applied correctly picks the newly built
uninstalled compiler in that case.

  So it does seem to pick the right uninstalled compiler, however without
the sysroot option and therefore all tests fail either like:

.../bin/riscv64-linux-gnu-ld: cannot find crt1.o: No such file or directory
.../bin/riscv64-linux-gnu-ld: cannot find -lm
collect2: error: ld returned 1 exit status
compiler exited with status 1
FAIL: libgomp.c/../libgomp.c-c++-common/depend-iterator-2.c (test for excess 
errors)

or like:

.../libgomp/testsuite/libgomp.c/../libgomp.c-c++-common/cancel-parallel-1.c:4:10:
 fatal error: stdlib.h: No such file or directory
compilation terminated.
compiler exited with status 1
FAIL: libgomp.c/../libgomp.c-c++-common/cancel-parallel-1.c (test for excess 
errors)

Weird that the --sysroot option doesn't properly get down there. I'll try to 
whip up a
similar environment later to really test this myself if I have time. As for 
your patch...

I am somewhat wary about picking the compiler options to pass selectively
anyway.  However the change below does not do that and works for me and I
think it should be fine for your use case too.  Please confirm.

  I'm yet verifying the other libraries with corresponding changes and will
formally submit v2 of this series once that has completed.

  Apologies for the slightly long RTT with this update.

   Maciej

The 'AM_RUNTESTFLAGS = --tool_exec "$(CC)"' does work for us, but only because 
you backed out the change
from libgomp-test-support.exp, and our installed testing doesn't use the 
libgomp/testsuite/Makefile.* files
(we invoke runtest using another script).

From the code in libgomp/testsuite/lib/libgomp.exp:libgomp_init():
...
    if ![info exists GCC_UNDER_TEST] then {
        if [info exists TOOL_EXECUTABLE] {
            set GCC_UNDER_TEST $TOOL_EXECUTABLE
        } else {
            set GCC_UNDER_TEST "[find_gcc]"
        }
    }

So essentially this patch is the same as the prior one, and still blocks the 
usual find_gcc logic from
ever getting control (as long as we use the in-tree 'make check'). I'm not sure 
that is the right
thing to do...

That said, I don't have anything further against this patch. Okay for me.

(I do still think that actually detecting the right in-tree compiler and giving 
the correct sysroot
options from the configuration is the more proper approach, maybe later)

Thanks,
Chung-Lin

---
  libgomp/testsuite/Makefile.am                 |    1 +
  libgomp/testsuite/Makefile.in                 |    1 +
  libgomp/testsuite/libgomp-test-support.exp.in |    2 --
  3 files changed, 2 insertions(+), 2 deletions(-)

gcc-test-libgomp-runtestflags-tool-exec.diff
Index: gcc/libgomp/testsuite/Makefile.am
===================================================================
--- gcc.orig/libgomp/testsuite/Makefile.am
+++ gcc/libgomp/testsuite/Makefile.am
@@ -11,6 +11,7 @@ EXPECT = $(shell if test -f $(top_buildd
  _RUNTEST = $(shell if test -f $(top_srcdir)/../dejagnu/runtest; then \
             echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi)
  RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
+AM_RUNTESTFLAGS = --tool_exec "$(CC)"
# Instead of directly in ../testsuite/libgomp-test-support.exp.in, the
  # following variables have to be "routed through" this Makefile, for expansion
Index: gcc/libgomp/testsuite/Makefile.in
===================================================================
--- gcc.orig/libgomp/testsuite/Makefile.in
+++ gcc/libgomp/testsuite/Makefile.in
@@ -308,6 +308,7 @@ _RUNTEST = $(shell if test -f $(top_srcd
             echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi)
RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
+AM_RUNTESTFLAGS = --tool_exec "$(CC)"
  all: all-am
.SUFFIXES:
Index: gcc/libgomp/testsuite/libgomp-test-support.exp.in
===================================================================
--- gcc.orig/libgomp/testsuite/libgomp-test-support.exp.in
+++ gcc/libgomp/testsuite/libgomp-test-support.exp.in
@@ -1,5 +1,3 @@
-set GCC_UNDER_TEST {@CC@}
-
  set cuda_driver_include "@CUDA_DRIVER_INCLUDE@"
  set cuda_driver_lib "@CUDA_DRIVER_LIB@"
  set hsa_runtime_lib "@HSA_RUNTIME_LIB@"

Reply via email to