aboutsummaryrefslogtreecommitdiff
path: root/libgomp
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@wdc.com>2019-11-20 15:49:23 +0000
committerMaciej W. Rozycki <macro@gcc.gnu.org>2019-11-20 15:49:23 +0000
commit83115e9eb8a54893088eb556fb4cc9194c0c5926 (patch)
tree1b5fc4ab18a4f28911a8594e974209c6ff0a2b22 /libgomp
parent8e361de1b08a579fe5d771be5ba47cf31533380c (diff)
downloadgcc-83115e9eb8a54893088eb556fb4cc9194c0c5926.zip
gcc-83115e9eb8a54893088eb556fb4cc9194c0c5926.tar.gz
gcc-83115e9eb8a54893088eb556fb4cc9194c0c5926.tar.bz2
libgomp/test: Add flags to find libatomic in build-tree testing
Add flags to find libatomic in build-tree testing, fixing a catastrophic libgomp testsuite failure with `riscv*-*-linux*' targets, which imply `-latomic' with the `-pthread' GCC option, implied in turn by the `-fopenacc' and `-fopenmp' options, removing failures like: .../bin/riscv64-linux-gnu-ld: cannot find -latomic collect2: error: ld returned 1 exit status compiler exited with status 1 FAIL: libgomp.c/../libgomp.c-c++-common/atomic-18.c (test for excess errors) Excess errors: .../bin/riscv64-linux-gnu-ld: cannot find -latomic UNRESOLVED: libgomp.c/../libgomp.c-c++-common/atomic-18.c compilation failed to produce executable and bringing overall test results for the `riscv64-linux-gnu' target (here with the `x86_64-linux-gnu' host and RISC-V QEMU in the Linux user emulation mode as the target board) from: === libgomp Summary === # of expected passes 90 # of unexpected failures 3267 # of expected failures 2 # of unresolved testcases 3247 # of unsupported tests 548 to: === libgomp Summary === # of expected passes 6834 # of unexpected failures 4 # of expected failures 4 # of unsupported tests 518 libgomp/ * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find libatomic in build-tree testing. From-SVN: r278505
Diffstat (limited to 'libgomp')
-rw-r--r--libgomp/ChangeLog5
-rw-r--r--libgomp/testsuite/lib/libgomp.exp14
2 files changed, 19 insertions, 0 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index e1211c16..a7e6870 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,8 @@
+2019-11-20 Maciej W. Rozycki <macro@wdc.com>
+
+ * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
+ libatomic in build-tree testing.
+
2019-11-18 Maciej W. Rozycki <macro@wdc.com>
* testsuite/Makefile.in: Regenerate.
diff --git a/libgomp/testsuite/lib/libgomp.exp b/libgomp/testsuite/lib/libgomp.exp
index 14d9b5f..74d0326 100644
--- a/libgomp/testsuite/lib/libgomp.exp
+++ b/libgomp/testsuite/lib/libgomp.exp
@@ -174,6 +174,20 @@ proc libgomp_init { args } {
# For build-tree testing, also consider the library paths used for builing.
# For installed testing, we assume all that to be provided in the sysroot.
if { $blddir != "" } {
+ # The `-fopenacc' and `-fopenmp' options imply `-pthread', and
+ # that implies `-latomic' on some hosts, so wire in libatomic
+ # build directories.
+ if [ishost "riscv*-*-linux*"] {
+ set shlib_ext [get_shlib_extension]
+ set atomic_library_path "${blddir}/../libatomic/.libs"
+ if { [file exists "${atomic_library_path}/libatomic.a"]
+ || [file exists \
+ "${atomic_library_path}/libatomic.${shlib_ext}"] } {
+ lappend ALWAYS_CFLAGS \
+ "additional_flags=-L${atomic_library_path}"
+ append always_ld_library_path ":${atomic_library_path}"
+ }
+ }
global cuda_driver_include
global cuda_driver_lib
if { $cuda_driver_include != "" } {