diff options
author | Maciej W. Rozycki <macro@wdc.com> | 2019-11-20 15:49:23 +0000 |
---|---|---|
committer | Maciej W. Rozycki <macro@gcc.gnu.org> | 2019-11-20 15:49:23 +0000 |
commit | 83115e9eb8a54893088eb556fb4cc9194c0c5926 (patch) | |
tree | 1b5fc4ab18a4f28911a8594e974209c6ff0a2b22 /libgomp | |
parent | 8e361de1b08a579fe5d771be5ba47cf31533380c (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | libgomp/testsuite/lib/libgomp.exp | 14 |
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 != "" } { |