libatomic/test: Fix compilation for build sysroot
authorMaciej W. Rozycki <macro@wdc.com>
Mon, 6 Apr 2020 22:32:44 +0000 (23:32 +0100)
committerMaciej W. Rozycki <macro@wdc.com>
Mon, 6 Apr 2020 22:32:44 +0000 (23:32 +0100)
commit5ff06d762a88077aff0fb637c931c64e6f47f93d
treee357c5bda0b384bab0928f9dd89d62bfb917f49e
parent8662d0593438ecd498ab7591ad0d2810886eb6da
libatomic/test: Fix compilation for build sysroot

Fix a problem with the libatomic testsuite using a method to determine
the compiler to use resulting in the tool being different from one the
library has been built with, and causing a catastrophic failure from the
lack of a suitable `--sysroot=' option where the `--with-build-sysroot='
configuration option has been used to build the compiler resulting in
the inability to link executables.

Address this problem by providing a DejaGNU configuration file defining
the compiler to use, via the GCC_UNDER_TEST TCL variable, set from $CC
by autoconf, which will have all the required options set for the target
compiler to build executables in the environment configured, removing
failures 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: libatomic.c/atomic-compare-exchange-1.c (test for excess errors)
Excess errors:
.../bin/riscv64-linux-gnu-ld: cannot find crt1.o: No such file or directory
.../bin/riscv64-linux-gnu-ld: cannot find -lm

UNRESOLVED: libatomic.c/atomic-compare-exchange-1.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:

=== libatomic Summary ===

# of unexpected failures 27
# of unresolved testcases 27

to:

=== libatomic Summary ===

# of expected passes 54

libatomic/
* configure.ac: Add testsuite/libatomic-site-extra.exp to output
files.
* configure: Regenerate.
* libatomic/testsuite/libatomic-site-extra.exp.in: New file.
* testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
variable.
* testsuite/Makefile.in: Regenerate.
libatomic/ChangeLog
libatomic/configure
libatomic/configure.ac
libatomic/testsuite/Makefile.am
libatomic/testsuite/Makefile.in
libatomic/testsuite/libatomic-site-extra.exp.in [new file with mode: 0644]