Here is a patch from our backlog at Mentor Graphics that addresses a
libgomp issue where setting ENABLE_LTO=1 in site.exp causes the following
error with dejagnu:
ERROR: (DejaGnu) proc "libgomp_target_compile linker_plugin9263.c
linker_plugin9263.exe executable {{additional_flags=-flto
-fuse-linker-plugin}}" does not exist.
This problem usually does not occur since the default site.exp does not
contain ENABLE_LTO=1. I tested both with and without our custom site.exp.
Is it OK for trunk? If so, please check it in since I do not have commit
rights.
Cesar Philippidis
2013-05-30 Iain Sandoe <[email protected]>
Cesar Philippidis <[email protected]>
libgomp/
* testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
* testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
* testsuite/libgomp.fortran/fortran.exp: Likewise.
* testsuite/libgomp.graphite/graphite.exp: Likewise.
* testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
Use dg-runtest rather than gfortran-dg-runtest.
Index: libgomp/testsuite/libgomp.fortran/fortran.exp
===================================================================
--- libgomp/testsuite/libgomp.fortran/fortran.exp (revision 199267)
+++ libgomp/testsuite/libgomp.fortran/fortran.exp (working copy)
@@ -1,4 +1,6 @@
load_lib libgomp-dg.exp
+load_gcc_lib gcc-dg.exp
+load_gcc_lib gfortran-dg.exp
global shlib_ext
global ALWAYS_CFLAGS
Index: libgomp/testsuite/lib/libgomp.exp
===================================================================
--- libgomp/testsuite/lib/libgomp.exp (revision 199267)
+++ libgomp/testsuite/lib/libgomp.exp (working copy)
@@ -9,24 +9,27 @@
}
load_lib dg.exp
+
+# Required to use gcc-dg.exp - however, the latter should NOT be
+# loaded until ${tool}_target_compile is defined since it uses that
+# to determine default LTO options.
+
+load_gcc_lib prune.exp
+load_gcc_lib target-libpath.exp
+load_gcc_lib wrapper.exp
+load_gcc_lib gcc-defs.exp
+load_gcc_lib timeout.exp
+load_gcc_lib target-supports.exp
load_gcc_lib file-format.exp
-load_gcc_lib target-supports.exp
load_gcc_lib target-supports-dg.exp
load_gcc_lib scanasm.exp
load_gcc_lib scandump.exp
load_gcc_lib scanrtl.exp
load_gcc_lib scantree.exp
load_gcc_lib scanipa.exp
-load_gcc_lib prune.exp
-load_gcc_lib target-libpath.exp
-load_gcc_lib wrapper.exp
-load_gcc_lib gcc-defs.exp
+load_gcc_lib timeout-dg.exp
load_gcc_lib torture-options.exp
-load_gcc_lib timeout.exp
-load_gcc_lib timeout-dg.exp
load_gcc_lib fortran-modules.exp
-load_gcc_lib gcc-dg.exp
-load_gcc_lib gfortran-dg.exp
set dg-do-what-default run
Index: libgomp/testsuite/libgomp.c/c.exp
===================================================================
--- libgomp/testsuite/libgomp.c/c.exp (revision 199267)
+++ libgomp/testsuite/libgomp.c/c.exp (working copy)
@@ -7,6 +7,7 @@
}
load_lib libgomp-dg.exp
+load_gcc_lib gcc-dg.exp
# If a testcase doesn't have special options, use these.
if ![info exists DEFAULT_CFLAGS] then {
Index: libgomp/testsuite/libgomp.graphite/graphite.exp
===================================================================
--- libgomp/testsuite/libgomp.graphite/graphite.exp (revision 199267)
+++ libgomp/testsuite/libgomp.graphite/graphite.exp (working copy)
@@ -23,6 +23,7 @@
}
load_lib libgomp-dg.exp
+load_gcc_lib gcc-dg.exp
if ![check_effective_target_pthread] {
return
Index: libgomp/testsuite/libgomp.c++/c++.exp
===================================================================
--- libgomp/testsuite/libgomp.c++/c++.exp (revision 199267)
+++ libgomp/testsuite/libgomp.c++/c++.exp (working copy)
@@ -1,4 +1,5 @@
load_lib libgomp-dg.exp
+load_gcc_lib gcc-dg.exp
global shlib_ext
@@ -53,7 +54,7 @@
}
# Main loop.
- gfortran-dg-runtest $tests $libstdcxx_includes
+ dg-runtest $tests "" $libstdcxx_includes
}
# All done.