Closed TommyMurphyTM1234 closed 3 months ago
Running the test suite for multiple arch/abi combinations works at least for the default multilib Linux toolchain (--enable-multilib --enable-linux
).
Afaik newlib does not support multilib (for sure, this repo does not support that). So, the only way left to test multiple arch/abi combinations is (as you have already found out) to build multiple toolchains and test them.
Running the test suite for multiple arch/abi combinations works at least for the default multilib Linux toolchain (
--enable-multilib --enable-linux
).
But, as far as I can see, running make report-linux
against Spike doesn't really make sense?
At least, it doesn't work:
Afaik newlib does not support multilib (for sure, this repo does not support that).
What? Of course it does - either via --enable-multilib
for the default set of multilibs defined by the generated Makefile
:
or via --with-multilib-generator
for a custom set:
So, the only way left to test multiple arch/abi combinations is (as you have already found out) to build multiple toolchains and test them.
Yes - by trial and error that's what I discovered. Thanks.
Afaik newlib does not support multilib (for sure, this repo does not support that).
What? Of course it does - either via
--enable-multilib
for the default set of multilibs defined by the generatedMakefile
:or via
--with-multilib-generator
for a custom set:
Ah, you are right:
========= Summary of gcc testsuite =========
| # of unexpected case / # of unique unexpected case
| gcc | g++ | gfortran |
rv32i/ ilp32/ medlow | 0 / 0 | 0 / 0 | - |
rv32iac/ ilp32/ medlow | 0 / 0 | 0 / 0 | - |
rv32im/ ilp32/ medlow | 0 / 0 | 0 / 0 | - |
rv32imac/ ilp32/ medlow | 0 / 0 | 0 / 0 | - |
rv32imafc/ ilp32f/ medlow | 0 / 0 | 0 / 0 | - |
rv64imac/ lp64/ medlow | 0 / 0 | 0 / 0 | - |
rv64imafdc/ lp64d/ medlow | 0 / 0 | 0 / 0 | - |
I never looked into the details here, but I knew that we don't build newlib the same way we build glibc (by comparing stamps/build-newlib
with stamps/build-glibc-linux-%
).
Also the configure flags for multilib newlib don't show any hints about multilib: $ /home/cm/src/riscv-gnu-toolchain/riscv-rvi/newlib/configure --target=riscv64-unknown-elf --prefix=/opt/riscv-rvi --enable-newlib-io-long-double --enable-newlib-io-long-long --enable-newlib-io-c99-formats --enable-newlib-register-fini CFLAGS_FOR_TARGET=-O2 -D_POSIX_MODE -ffunction-sections -fdata-sections -mcmodel=medlow CXXFLAGS_FOR_TARGET=-O2 -D_POSIX_MODE -ffunction-sections -fdata-sections -mcmodel=medlow
.
However, $installdir/riscv64-unknown-elf/lib/*
shows all the necessary files.
So, sorry for my misleading sentence.
Sorry, I thought that you were referring to the bare-metal/Newlib toolchain not supporting multilibs which it obviously does. But it seems that you were referring to the test suite not testing all Newlib multilib arch/abi
combinations? But it seems that this works too? The odd thing is that when I tried it it failed.
Perhaps it only works when the toolchain is configured/built with --enable-multilib
but not when --with-multilib-generator
is used? I must try this later...
Perhaps it only works when the toolchain is configured/built with
--enable-multilib
but not when--with-multilib-generator
is used?
That seems to be the case alright.
Using --enable-multilib
:
git clone https://github.com/riscv-collab/riscv-gnu-toolchain
cd riscv-gnu-toolchain
./configure --prefix=`pwd`/installed-tools --enable-multilib --with-sim=spike
make
make build-sim
make report-newlib SIM=spike
...
=== gcc tests ===
Schedule of variations:
riscv-sim/-march=rv32i/-mabi=ilp32/-mcmodel=medlow
riscv-sim/-march=rv32iac/-mabi=ilp32/-mcmodel=medlow
riscv-sim/-march=rv32im/-mabi=ilp32/-mcmodel=medlow
riscv-sim/-march=rv32imac/-mabi=ilp32/-mcmodel=medlow
riscv-sim/-march=rv32imafc/-mabi=ilp32f/-mcmodel=medlow
riscv-sim/-march=rv64imac/-mabi=lp64/-mcmodel=medlow
riscv-sim/-march=rv64imafdc/-mabi=lp64d/-mcmodel=medlow
Running target riscv-sim/-march=rv32i/-mabi=ilp32/-mcmodel=medlow
Using /home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/dejagnu/baseboards/riscv-sim.exp as board description file for target.
Using /home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/dejagnu/config/sim.exp as generic interface file for target.
Using /home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/dejagnu/baseboards/basic-sim.exp as board description file for target.
Using /home/user/Downloads/riscv-gnu-toolchain/gcc/gcc/testsuite/config/default.exp as tool-and-target-specific interface file.
Running /home/user/Downloads/riscv-gnu-toolchain/gcc/gcc/testsuite/gcc.c-torture/compile/compile.exp ...
...
Using --with-multilib-generator
:
make distclean
rm -rf installed-tools
./configure --prefix=`pwd`/installed-tools --with-multilib-generator="rv32imafc-ilp32f--" --with-sim=spike
make
make build-sim
make report-newlib SIM=spike
rm -rf stamps/build-dejagnu build-dejagnu
mkdir build-dejagnu
cd build-dejagnu && /home/user/Downloads/riscv-gnu-toolchain/dejagnu/configure \
--prefix=/home/user/Downloads/riscv-gnu-toolchain/installed-tools
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... /usr/bin/gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make sets $(MAKE)... (cached) yes
checking for gawk... (cached) /usr/bin/gawk
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
make -C build-dejagnu
make[1]: Entering directory '/home/user/Downloads/riscv-gnu-toolchain/build-dejagnu'
Done. Now run 'make install'.
make[1]: Leaving directory '/home/user/Downloads/riscv-gnu-toolchain/build-dejagnu'
make -C build-dejagnu install
make[1]: Entering directory '/home/user/Downloads/riscv-gnu-toolchain/build-dejagnu'
Done. Now run 'make install'.
make[2]: Entering directory '/home/user/Downloads/riscv-gnu-toolchain/build-dejagnu'
/usr/bin/mkdir -p '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/bin'
/usr/bin/install -c /home/user/Downloads/riscv-gnu-toolchain/dejagnu/dejagnu /home/user/Downloads/riscv-gnu-toolchain/dejagnu/runtest '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/bin'
/usr/bin/mkdir -p '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/dejagnu/libexec'
/usr/bin/install -c /home/user/Downloads/riscv-gnu-toolchain/dejagnu/config.guess '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/dejagnu/libexec'
/usr/bin/mkdir -p '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/dejagnu/baseboards'
/usr/bin/install -c -m 644 /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/README /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/aarch64-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/am33_2.0-libremote.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/androideabi.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/arm-ice.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/arm-sid.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/arm-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/basic-sid.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/basic-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/cris-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/d30v-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/fr30-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/frv-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/gdbserver-sample.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/generic-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/i386-sid.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/iq2000-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/jmr3904-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/linux-gdbserver.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/linux-libremote.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/m68k-sid.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mcore-moto-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mcore-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mips-lnews-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mips-lsi-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mips-sim-idt32.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mips-sim-idt64.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mips-sim-mti32.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mips-sim-mti64.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mips-sim-mti64_64.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mips-sim-mti64_n32.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mips-sim-sde32.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mips-sim-sde64.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mips-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mmixware-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mn10200-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mn10300-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/moxie-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/msp430-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/mt-sid.exp '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/dejagnu/baseboards'
/usr/bin/install -c -m 644 /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/multi-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/pi.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/powerpc-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/powerpcle-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/pru-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/qemu.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/riscv-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/rx-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/sh-sid.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/sh-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/sparc-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/sparc64-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/sparclite-sim-le.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/sparclite-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/tx39-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/unix.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/v850-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/visium-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/vr4100-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/vr4111-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/vr4300-sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/baseboards/xtensa-sim.exp '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/dejagnu/baseboards'
/usr/bin/mkdir -p '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/dejagnu/commands'
/usr/bin/install -c -m 644 /home/user/Downloads/riscv-gnu-toolchain/dejagnu/commands/help.sh /home/user/Downloads/riscv-gnu-toolchain/dejagnu/commands/report-card.awk '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/dejagnu/commands'
/usr/bin/mkdir -p '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/dejagnu/config'
/usr/bin/install -c -m 644 /home/user/Downloads/riscv-gnu-toolchain/dejagnu/config/README /home/user/Downloads/riscv-gnu-toolchain/dejagnu/config/adb.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/config/aarch64-fv8.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/config/default.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/config/gdb-comm.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/config/gdb_stub.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/config/sid.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/config/sim.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/config/unix.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/config/vxworks.exp '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/dejagnu/config'
/usr/bin/mkdir -p '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/include'
/usr/bin/install -c -m 644 /home/user/Downloads/riscv-gnu-toolchain/dejagnu/dejagnu.h '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/include'
/usr/bin/mkdir -p '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/info'
/usr/bin/install -c -m 644 /home/user/Downloads/riscv-gnu-toolchain/dejagnu/doc/dejagnu.info '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/info'
install-info --info-dir='/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/info' '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/info/dejagnu.info'
/usr/bin/mkdir -p '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/man/man1'
/usr/bin/install -c -m 644 /home/user/Downloads/riscv-gnu-toolchain/dejagnu/doc/dejagnu.1 /home/user/Downloads/riscv-gnu-toolchain/dejagnu/doc/dejagnu-help.1 /home/user/Downloads/riscv-gnu-toolchain/dejagnu/doc/dejagnu-report-card.1 /home/user/Downloads/riscv-gnu-toolchain/dejagnu/doc/runtest.1 '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/man/man1'
/usr/bin/mkdir -p '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/dejagnu'
/usr/bin/install -c -m 644 /home/user/Downloads/riscv-gnu-toolchain/dejagnu/stub-loader.c /home/user/Downloads/riscv-gnu-toolchain/dejagnu/testglue.c /home/user/Downloads/riscv-gnu-toolchain/dejagnu/runtest.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/debugger.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/dejagnu.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/dg.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/dmucs.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/framework.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/ftp.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/kermit.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/libgloss.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/remote.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/rlogin.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/rsh.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/ssh.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/standard.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/target.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/targetdb.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/telnet.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/tip.exp /home/user/Downloads/riscv-gnu-toolchain/dejagnu/lib/utils.exp '/home/user/Downloads/riscv-gnu-toolchain/installed-tools/share/dejagnu'
make[2]: Leaving directory '/home/user/Downloads/riscv-gnu-toolchain/build-dejagnu'
make[1]: Leaving directory '/home/user/Downloads/riscv-gnu-toolchain/build-dejagnu'
mkdir -p stamps/
date > stamps/build-dejagnu
Traceback (most recent call last):
File "/home/user/Downloads/riscv-gnu-toolchain/scripts/generate_target_board", line 82, in <module>
sys.exit(main(sys.argv))
File "/home/user/Downloads/riscv-gnu-toolchain/scripts/generate_target_board", line 59, in main
target_board = generate_one_target_board(one_arch_abi, "", options)
File "/home/user/Downloads/riscv-gnu-toolchain/scripts/generate_target_board", line 35, in generate_one_target_board
abi = arch_and_abi[1]
IndexError: list index out of range
PATH="/home/user/Downloads/riscv-gnu-toolchain/scripts/wrapper/spike:/home/user/Downloads/riscv-gnu-toolchain/scripts:/home/user/Downloads/riscv-gnu-toolchain/installed-tools/bin:/home/user/Downloads/riscv-gnu-toolchain/scripts/wrapper/sed:/home/user/Downloads/riscv-gnu-toolchain/installed-tools/bin:/home/user/.local/bin:/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/Program Files/dotnet/:/mnt/c/Program Files/Meld/:/mnt/c/Program Files/nodejs/:/mnt/c/Program Files/Crucial/Crucial Storage Executive:/mnt/c/Program Files/PuTTY/:/mnt/c/Program Files/usbipd-win/:/mnt/c/Program Files/Git/cmd:/mnt/c/Users/Tommy Murphy/scoop/shims:/mnt/c/Users/Tommy Murphy/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Tommy Murphy/AppData/Roaming/npm:/mnt/c/Users/Tommy Murphy/AppData/Local/Programs/Microsoft VS Code/bin:/snap/bin" PK_PATH="/home/user/Downloads/riscv-gnu-toolchain/installed-tools/riscv64-unknown-elf/bin/" ARCH_STR="--with-arch=rv64imafdc" make -C build-gcc-newlib-stage2 check-gcc "RUNTESTFLAGS= --target_board=''"
make[1]: Entering directory '/home/user/Downloads/riscv-gnu-toolchain/build-gcc-newlib-stage2'
make[2]: Entering directory '/home/user/Downloads/riscv-gnu-toolchain/build-gcc-newlib-stage2/gcc'
Making a new config file...
echo "set tmpdir /home/user/Downloads/riscv-gnu-toolchain/build-gcc-newlib-stage2/gcc/testsuite" >> ./site.tmp
rm -rf testsuite/gcc-parallel
make[3]: Entering directory '/home/user/Downloads/riscv-gnu-toolchain/build-gcc-newlib-stage2/gcc'
(rootme=`${PWDCMD-pwd}`; export rootme; \
srcdir=`cd ../.././gcc/gcc; ${PWDCMD-pwd}` ; export srcdir ; \
if [ -n "" ] \
&& [ -n "$GCC_RUNTEST_PARALLELIZE_DIR" ] \
&& [ -f testsuite/gcc-parallel/finished ]; then \
rm -rf testsuite/gcc; \
else \
cd testsuite/gcc; \
rm -f tmp-site.exp; \
sed '/set tmpdir/ s|testsuite$|testsuite/gcc|' \
< ../../site.exp > tmp-site.exp; \
/bin/bash ${srcdir}/../move-if-change tmp-site.exp site.exp; \
EXPECT=`if [ -f ${rootme}/../expect/expect ] ; then echo ${rootme}/../expect/expect ; else echo expect ; fi` ; export EXPECT ; \
if [ -f ${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; ${PWDCMD-pwd}` ; \
export TCL_LIBRARY ; \
fi ; \
`if [ -f ${srcdir}/../dejagnu/runtest ] ; then echo ${srcdir}/../dejagnu/runtest ; else echo runtest; fi` --tool gcc --target_board=''; \
if [ -n "$GCC_RUNTEST_PARALLELIZE_DIR" ] ; then \
touch ${rootme}/testsuite/gcc-parallel/finished; \
fi ; \
fi )
WARNING: Couldn't find the global config file.
Using /home/user/Downloads/riscv-gnu-toolchain/gcc/gcc/testsuite/lib/gcc.exp as tool init file.
Test run by user on Mon Jul 15 13:00:50 2024
Target is riscv64-unknown-elf
Host is x86_64-pc-linux-gnu
=== gcc tests ===
Schedule of variations:
=== gcc Summary ===
/home/user/Downloads/riscv-gnu-toolchain/build-gcc-newlib-stage2/gcc/xgcc version 13.2.0 (gc891d8dc23e)
make[3]: Leaving directory '/home/user/Downloads/riscv-gnu-toolchain/build-gcc-newlib-stage2/gcc'
rm -rf testsuite/g++-parallel
make[3]: Entering directory '/home/user/Downloads/riscv-gnu-toolchain/build-gcc-newlib-stage2/gcc'
(rootme=`${PWDCMD-pwd}`; export rootme; \
srcdir=`cd ../.././gcc/gcc; ${PWDCMD-pwd}` ; export srcdir ; \
if [ -n "" ] \
&& [ -n "$GCC_RUNTEST_PARALLELIZE_DIR" ] \
&& [ -f testsuite/g++-parallel/finished ]; then \
rm -rf testsuite/g++; \
else \
cd testsuite/g++; \
rm -f tmp-site.exp; \
sed '/set tmpdir/ s|testsuite$|testsuite/g++|' \
< ../../site.exp > tmp-site.exp; \
/bin/bash ${srcdir}/../move-if-change tmp-site.exp site.exp; \
EXPECT=`if [ -f ${rootme}/../expect/expect ] ; then echo ${rootme}/../expect/expect ; else echo expect ; fi` ; export EXPECT ; \
if [ -f ${rootme}/../expect/expect ] ; then \
TCL_LIBRARY=`cd .. ; cd ${srcdir}/../tcl/library ; ${PWDCMD-pwd}` ; \
export TCL_LIBRARY ; \
fi ; \
`if [ -f ${srcdir}/../dejagnu/runtest ] ; then echo ${srcdir}/../dejagnu/runtest ; else echo runtest; fi` --tool g++ --target_board=''; \
if [ -n "$GCC_RUNTEST_PARALLELIZE_DIR" ] ; then \
touch ${rootme}/testsuite/g++-parallel/finished; \
fi ; \
fi )
WARNING: Couldn't find the global config file.
Using /home/user/Downloads/riscv-gnu-toolchain/gcc/gcc/testsuite/lib/g++.exp as tool init file.
Test run by user on Mon Jul 15 13:00:51 2024
Target is riscv64-unknown-elf
Host is x86_64-pc-linux-gnu
=== g++ tests ===
Schedule of variations:
=== g++ Summary ===
/home/user/Downloads/riscv-gnu-toolchain/build-gcc-newlib-stage2/gcc/xg++ version 13.2.0 (gc891d8dc23e)
make[3]: Leaving directory '/home/user/Downloads/riscv-gnu-toolchain/build-gcc-newlib-stage2/gcc'
make[2]: Leaving directory '/home/user/Downloads/riscv-gnu-toolchain/build-gcc-newlib-stage2/gcc'
make[1]: Leaving directory '/home/user/Downloads/riscv-gnu-toolchain/build-gcc-newlib-stage2'
mkdir -p stamps/
date > stamps/check-gcc-newlib
/home/user/Downloads/riscv-gnu-toolchain/scripts/testsuite-filter gcc newlib /home/user/Downloads/riscv-gnu-toolchain/test/allowlist `find build-gcc-newlib-stage2/gcc/testsuite/ -name *.sum |paste -sd "," -`
========= Summary of gcc testsuite =========
| # of unexpected case / # of unique unexpected case
| gcc | g++ | gfortran |
make: *** [Makefile:1099: report-gcc-newlib] Error 1
I don't know why the latter fails?
See here:
As per that issue this PR suggests that the test suite can be run once to test more than one
arch/abi
:But when I run it it only tests one - the toolchain default
arch/abi
:...
rv64imafdc/ lp64d/ medlow | 0 / 0 | 0 / 0 | - |
git clone https://github.com/riscv-collab/riscv-gnu-toolchain cd riscv-gnu-toolchain
./configure --prefix=
pwd
/installed-tools --with-sim=spike make make build-sim make report-newlib SIM=spike...
rv64imafdc/ lp64d/ medlow | 0 / 0 | 0 / 0 | - |
make distclean rm -rf installed-tools
./configure --prefix=
pwd
/installed-tools --with-arch=rv32imafc --with-abi=ilp32d --with-sim=spike make make build-sim make report-newlib SIM=spike...
rv32imafc/ ilp32f/ medlow | 0 / 0 | 0 / 0 | - |