diff options
-rwxr-xr-x | .github/cleanup-rootfs.sh | 21 | ||||
-rwxr-xr-x | .github/setup-apt.sh | 2 | ||||
-rw-r--r-- | .gitmodules | 19 | ||||
-rw-r--r-- | Makefile.in | 16 | ||||
-rw-r--r-- | README.md | 30 | ||||
m--------- | binutils | 0 | ||||
m--------- | gcc | 0 | ||||
m--------- | gdb | 0 | ||||
m--------- | qemu | 0 | ||||
-rw-r--r-- | test/allowlist/gcc/common.log | 73 | ||||
-rw-r--r-- | test/allowlist/gcc/gen.py | 50 | ||||
-rw-r--r-- | test/allowlist/gcc/glibc.log | 80 | ||||
-rw-r--r-- | test/allowlist/gcc/glibc.rv32.log | 40 | ||||
-rw-r--r-- | test/allowlist/gcc/glibc.rv64.log | 12 | ||||
-rw-r--r-- | test/allowlist/gcc/newlib-nano.f.log | 4 | ||||
-rw-r--r-- | test/allowlist/gcc/newlib-nano.log | 34 | ||||
-rw-r--r-- | test/allowlist/gcc/newlib.log | 18 | ||||
-rw-r--r-- | test/allowlist/gcc/newlib.rv32.log | 8 | ||||
-rw-r--r-- | test/allowlist/gcc/rv32.log | 13 |
19 files changed, 201 insertions, 219 deletions
diff --git a/.github/cleanup-rootfs.sh b/.github/cleanup-rootfs.sh index 7d1b255..92f93f1 100755 --- a/.github/cleanup-rootfs.sh +++ b/.github/cleanup-rootfs.sh @@ -4,8 +4,7 @@ # while the process moves forward (for apt we'll need to wait for it to finish # before we install dependencies later on, but it'll only give us a 1-3GBs so # we can skip it. -WAIT=0 -RMONLY=1 +WAIT=1 # Set to 1 if you want to wait for the cleanup to finish before proceeding. PACKAGES=( "firefox" @@ -36,11 +35,9 @@ PATHS=( function cleanup_packages() { - if [[ ${RMONLY} == 0 ]]; then - apt-get purge -y "${PACKAGES[@]}" - apt-get autoremove --purge -y - apt-get clean - fi + apt-get purge -y "${PACKAGES[@]}" + apt-get autoremove --purge -y + apt-get clean } function cleanup_paths() @@ -53,14 +50,24 @@ function cleanup_paths() fi } +function cleanup_docker() +{ + docker image prune --all --force & + if [[ ${WAIT} == 1 ]]; then + wait + fi +} + if [[ ${WAIT} == 1 ]]; then echo "---=== Before ===---" df -hT cleanup_packages cleanup_paths + cleanup_docker echo "---=== After ===---" df -hT else cleanup_packages cleanup_paths + cleanup_docker fi diff --git a/.github/setup-apt.sh b/.github/setup-apt.sh index caf37c9..b56406c 100755 --- a/.github/setup-apt.sh +++ b/.github/setup-apt.sh @@ -6,4 +6,4 @@ apt update apt install -y autoconf automake autotools-dev curl python3 python3-pip python3-tomli libmpc-dev libmpfr-dev \ libgmp-dev gawk build-essential bison flex texinfo gperf libtool \ patchutils bc zlib1g-dev libexpat-dev git ninja-build cmake libglib2.0-dev expect \ - device-tree-compiler python3-pyelftools libslirp-dev + device-tree-compiler python3-pyelftools libslirp-dev libzstd-dev diff --git a/.gitmodules b/.gitmodules index e1505e7..8850b2c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,16 +1,19 @@ +# Some of the external git repos are not upstream servers but upstream clones to +# avoid "Server does not allow request for unadvertised object" errors (see +# #1654). [submodule "binutils"] path = binutils - url = https://sourceware.org/git/binutils-gdb.git - branch = binutils-2_43-branch + url = https://github.com/bminor/binutils-gdb.git + branch = binutils-2_44-branch shallow = true [submodule "gcc"] path = gcc - url = https://gcc.gnu.org/git/gcc.git - branch = releases/gcc-14 + url = https://github.com/gcc-mirror/gcc.git + branch = releases/gcc-15 shallow = true [submodule "glibc"] path = glibc - url = https://sourceware.org/git/glibc.git + url = https://github.com/bminor/glibc.git shallow = true [submodule "dejagnu"] path = dejagnu @@ -19,13 +22,13 @@ shallow = true [submodule "newlib"] path = newlib - url = https://sourceware.org/git/newlib-cygwin.git + url = https://github.com/bminor/newlib.git branch = master shallow = true [submodule "gdb"] path = gdb - url = https://sourceware.org/git/binutils-gdb.git - branch = gdb-15-branch + url = https://github.com/bminor/binutils-gdb.git + branch = gdb-16-branch shallow = true [submodule "qemu"] path = qemu diff --git a/Makefile.in b/Makefile.in index b597a40..3abe1a9 100644 --- a/Makefile.in +++ b/Makefile.in @@ -17,14 +17,9 @@ LLVM_SRCDIR := @with_llvm_src@ DEJAGNU_SRCDIR := @with_dejagnu_src@ DEBUG_INFO := @debug_info@ ENABLE_DEFAULT_PIE := @enable_default_pie@ -DEJAGNU_SRCDIR := @with_dejagnu_src@ SIM ?= @WITH_SIM@ -# Shared lib suffix -IS_DARWIN := $(shell uname -s | grep Darwin) -SHARED_LIB_SUFFIX := $(if $(IS_DARWIN),dylib,so) - ifeq ($(srcdir)/gcc,$(GCC_SRCDIR)) # We need a relative source dir for the gcc configure, to make msys2 mingw64 # builds work. Mayberelsrcdir is relative if a relative path was used to run @@ -1159,7 +1154,8 @@ stamps/build-llvm-linux: $(LLVM_SRCDIR) $(LLVM_SRC_GIT) $(BINUTILS_SRCDIR) $(BIN -DLLVM_RUNTIME_TARGETS=$(call make_tuple,$(XLEN),linux-gnu) \ -DLLVM_INSTALL_TOOLCHAIN_ONLY=On \ -DLLVM_BINUTILS_INCDIR=$(BINUTILS_SRCDIR)/include \ - -DLLVM_PARALLEL_LINK_JOBS=4 + -DLLVM_PARALLEL_LINK_JOBS=4 \ + $(LLVM_EXTRA_CONFIGURE_FLAGS) $(MAKE) -C $(notdir $@) $(MAKE) -C $(notdir $@) install # Build shared/static OpenMP libraries on RV64. @@ -1204,7 +1200,6 @@ stamps/build-llvm-linux: $(LLVM_SRCDIR) $(LLVM_SRC_GIT) $(BINUTILS_SRCDIR) $(BIN $(MAKE) -C $(notdir $@)/openmp-static install; \ fi cp $(notdir $@)/lib/riscv$(XLEN)-unknown-linux-gnu/libc++* $(SYSROOT)/lib - cp $(notdir $@)/lib/LLVMgold.$(SHARED_LIB_SUFFIX) $(INSTALL_DIR)/lib cd $(INSTALL_DIR)/bin && ln -s -f clang $(LINUX_TUPLE)-clang && ln -s -f clang++ $(LINUX_TUPLE)-clang++ mkdir -p $(dir $@) && touch $@ @@ -1221,10 +1216,10 @@ stamps/build-llvm-newlib: $(LLVM_SRCDIR) $(LLVM_SRC_GIT) $(BINUTILS_SRCDIR) $(BI -DLLVM_DEFAULT_TARGET_TRIPLE="$(NEWLIB_TUPLE)" \ -DLLVM_INSTALL_TOOLCHAIN_ONLY=On \ -DLLVM_BINUTILS_INCDIR=$(BINUTILS_SRCDIR)/include \ - -DLLVM_PARALLEL_LINK_JOBS=4 + -DLLVM_PARALLEL_LINK_JOBS=4 \ + $(LLVM_EXTRA_CONFIGURE_FLAGS) $(MAKE) -C $(notdir $@) $(MAKE) -C $(notdir $@) install - cp $(notdir $@)/lib/LLVMgold.$(SHARED_LIB_SUFFIX) $(INSTALL_DIR)/lib cd $(INSTALL_DIR)/bin && ln -s -f clang $(NEWLIB_TUPLE)-clang && \ ln -s -f clang++ $(NEWLIB_TUPLE)-clang++ mkdir -p $(dir $@) && touch $@ @@ -1359,7 +1354,7 @@ report-binutils-linux: stamps/check-binutils-linux `find build-binutils-linux/ -name *.sum |paste -sd "," -` clean: - rm -rf build-* install-* stamps install-newlib-nano + rm -rf build-* install-* stamps .PHONY: report-gdb-newlib report-gdb-newlib-nano report-gdb-newlib: stamps/check-gdb-newlib @@ -1382,7 +1377,6 @@ report-gdb-linux: stamps/check-gdb-linux if find build-gdb-linux -iname '*.sum' | xargs grep ^FAIL | sort | grep -F -v $(patsubst %,--file=$(srcdir)/test/gdb-linux/%.log,$(GLIBC_MULTILIB_NAMES)); then false; else true; fi distclean: clean - rm -rf src # All of the packages install themselves, so our install target does nothing. install: @@ -16,7 +16,7 @@ so `--recursive` or `git submodule update --init --recursive` is not needed. ### Prerequisites -Several standard packages are needed to build the toolchain. +Several standard packages are needed to build the toolchain. On Ubuntu, executing the following command should suffice: @@ -25,10 +25,10 @@ On Ubuntu, executing the following command should suffice: On Fedora/CentOS/RHEL OS, executing the following command should suffice: $ sudo yum install autoconf automake python3 libmpc-devel mpfr-devel gmp-devel gawk bison flex texinfo patchutils gcc gcc-c++ zlib-devel expat-devel libslirp-devel - + On Arch Linux, executing the following command should suffice: - $ sudo pacman -Syyu autoconf automake curl python3 libmpc mpfr gmp gawk base-devel bison flex texinfo gperf libtool patchutils bc zlib expat libslirp + $ sudo pacman -Syu curl python3 libmpc mpfr gmp base-devel texinfo gperf patchutils bc zlib expat libslirp Also available for Arch users on the AUR: [https://aur.archlinux.org/packages/riscv-gnu-toolchain-bin](https://aur.archlinux.org/packages/riscv-gnu-toolchain-bin) @@ -91,7 +91,7 @@ To build either cross-compiler with support for both 32-bit and 64-bit, run the following command: ./configure --prefix=/opt/riscv --enable-multilib - + And then either `make`, `make linux` or `make musl` for the Newlib, Linux glibc-based or Linux musl libc-based cross-compiler, respectively. @@ -104,7 +104,7 @@ using the `--print-multi-lib` flag on either cross-compiler. Linux toolchain has an additional option `--enable-default-pie` to control the default PIE enablement for GCC, which is disable by default. -To customize the enabled languages, use option `--with-languages=`. For example, +To customize the enabled languages, use option `--with-languages=`. For example, if you want to enable `c,c++,fortran`, use `./configure --with-languages=c,c++,fortran`. This option only takes effect for the GNU toolchain. @@ -126,7 +126,7 @@ is case-sensitive. A build on a case-insensitive filesystem will fail when building glibc because \*.os and \*.oS files will clobber each other during the build eventually resulting in confusing link errors. -Centos (and RHEL) provide old GNU tools versions that may be too old to build +CentOS (and RHEL) provide old GNU tools versions that may be too old to build a RISC-V toolchain. There is an alternate toolset provided that includes current versions of the GNU tools. This is the devtoolset provided as part of the Software Collection service. For more info, see the @@ -140,7 +140,7 @@ devtoolset-7 works. There are a number of additional options that may be passed to configure. See './configure --help' for more details. -Also you can define extra flags to pass to specific projects: ```BINUTILS_NATIVE_FLAGS_EXTRA, BINUTILS_TARGET_FLAGS_EXTRA, GCC_EXTRA_CONFIGURE_FLAGS, GDB_NATIVE_FLAGS_EXTRA, GDB_TARGET_FLAGS_EXTRA, GLIBC_TARGET_FLAGS_EXTRA, NEWLIB_TARGET_FLAGS_EXTRA```. +Also you can define extra flags to pass to specific projects: ```BINUTILS_NATIVE_FLAGS_EXTRA, BINUTILS_TARGET_FLAGS_EXTRA, GCC_EXTRA_CONFIGURE_FLAGS, GDB_NATIVE_FLAGS_EXTRA, GDB_TARGET_FLAGS_EXTRA, GLIBC_TARGET_FLAGS_EXTRA, NEWLIB_TARGET_FLAGS_EXTRA, LLVM_EXTRA_CONFIGURE_FLAGS```. Example: ```GCC_EXTRA_CONFIGURE_FLAGS=--with-gmp=/opt/gmp make linux``` #### Set default ISA spec version @@ -218,8 +218,8 @@ This flag is particularly useful for developers testing and emulating full RISC- The Dejagnu test suite has been ported to RISC-V. This can be run with a simulator for the elf and linux toolchains. The simulator can be selected by the SIM variable in the Makefile, e.g. SIM=qemu, SIM=gdb, or SIM=spike -(experimental).In addition, the simulator can also be selected with the -configure time option `--with-sim=`.However, the testsuite allowlist is +(experimental).In addition, the simulator can also be selected with the +configure time option `--with-sim=`.However, the testsuite allowlist is only maintained for qemu.Other simulators might get extra failures. #### Additional Prerequisite @@ -271,7 +271,7 @@ Note: By default GCC will execute all tests of its regression test suite. While running them in parallel (e.g. `make -j$(nproc) report`) will -significanlty speed up the execution time on multi-processor systems, +significantly speed up the execution time on multi-processor systems, the required time for executing all tests is usually too high for typical development cycles. Therefore GCC allows to select the tests that are being executed using the environment variable `RUNTESTFLAGS`. @@ -279,12 +279,12 @@ that are being executed using the environment variable `RUNTESTFLAGS`. To restrict a test run to only RISC-V specific tests the following command can be used: - RUNTESTFLAGS="riscv.exp" make report + RUNTESTFLAGS="riscv.exp" make report To restrict a test run to only RISC-V specific tests with match the pattern "zb*.c" and "sm*.c" the following command can be used: - RUNTESTFLAGS="riscv.exp=zb*.c\ sm*.c" make report + RUNTESTFLAGS="riscv.exp=zb*.c\ sm*.c" make report #### Testing GCC, Binutils, and glibc of a Linux toolchain @@ -422,7 +422,7 @@ toolchain with your own source tree. #### Update Source Tree `riscv-gnu-toolchain` contain stable but not latest source for each submodule, -in case you want to using latest develoment tree, you can use following command +in case you want to using latest development tree, you can use following command to upgrade all submodule. git submodule update --remote @@ -490,8 +490,8 @@ sources is among them. The flag `--enable-host-gcc` does exaclty that: ### FAQ #### Ensuring Code Model Consistency -If parts of newlib are going to be replaced with an external library (such as with [libgloss-htif](https://github.com/ucb-bar/libgloss-htif) for Berkeley Host-Target Interface), -you should take care to ensure that both newlib and the external library are built using the same code model. For more information about RISC-V code models, +If parts of newlib are going to be replaced with an external library (such as with [libgloss-htif](https://github.com/ucb-bar/libgloss-htif) for Berkeley Host-Target Interface), +you should take care to ensure that both newlib and the external library are built using the same code model. For more information about RISC-V code models, [read this SiFive blog article](https://www.sifive.com/blog/all-aboard-part-4-risc-v-code-models). Errors that indicate a code model mismatch include "relocation overflow" or "relocation truncated" errors from the linker being unable to successfully relocate symbols in the executable. diff --git a/binutils b/binutils -Subproject beb2cdbcda911764b2bed5e57921fe90493260b +Subproject 815d9a14cbbb3b81843f7566222c87fb22e7255 diff --git a/gcc b/gcc -Subproject 04696df09633baf97cdbbdd6e9929b9d472161d +Subproject 1b306039ac49f8ad91ca71d3de3150a3c9fa792 diff --git a/gdb b/gdb -Subproject 23c84db5b3cb4e8a0d555c76e1a0ab56dc8355f +Subproject 800169229d1c69a6d9ad4a6f7b7481aca75eeef diff --git a/qemu b/qemu -Subproject ae35f033b874c627d81d51070187fbf55f0bf1a +Subproject 7c949c53e936aa3a658d84ab53bae5cadaa5d59 diff --git a/test/allowlist/gcc/common.log b/test/allowlist/gcc/common.log index 7262cf0..7e74b08 100644 --- a/test/allowlist/gcc/common.log +++ b/test/allowlist/gcc/common.log @@ -1,38 +1,35 @@ -# -# XXX: Need review. -# -XPASS: gcc.dg/attr-alloc_size-11.c -FAIL: g++.dg/modules/bad-mapper-3.C -# -# We didn't define TARGET_HAVE_SPECULATION_SAFE_VALUE or -# speculation_barrier pattern -# -FAIL: c-c++-common/spec-barrier-1.c -# -# Fix upstream (77f3b3419d4) but no backport -# -UNRESOLVED: gcc.target/riscv/mcpu-6.c -UNRESOLVED: gcc.target/riscv/mcpu-7.c -FAIL: g++.dg/vect/pr95401.cc -FAIL: gcc.dg/Wstringop-overflow-47.c -# -# Still fail on upstream(2024.8.12) -# -FAIL: gcc.dg/vect/costmodel/riscv/rvv/pr113281-1.c -FAIL: gcc.dg/vect/costmodel/riscv/rvv/pr113281-2.c -FAIL: gcc.dg/vect/costmodel/riscv/rvv/pr113281-5.c -FAIL: gcc.dg/tree-ssa/ssa-dom-cse-2.c -FAIL: gcc.dg/tree-ssa/update-threading.c -FAIL: gcc.dg/vect/pr65310.c -FAIL: gcc.dg/vect/pr88598-1.c -FAIL: gcc.dg/vect/pr88598-2.c -FAIL: gcc.dg/vect/pr88598-3.c -FAIL: gcc.dg/vect/vect-gather-2.c -FAIL: gcc.dg/plugin/cpython-plugin-test-PyList_Append.c -FAIL: gcc.dg/plugin/cpython-plugin-test-PyList_New.c -FAIL: gcc.dg/plugin/cpython-plugin-test-PyLong_FromLong.c -# -# Fail when don't have floating point support -# see https://github.com/riscv-collab/riscv-gnu-toolchain/pull/1531#issuecomment-2373636158 -# -FAIL: gcc.dg/pr110279-1.c +FAIL: gcc.dg/vect/pr65310.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-5.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-5.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-3.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-6.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-1.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/pr113112-2.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-4.c
+FAIL: g++.target/riscv/redundant-bitmap-2.C
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-7.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-12.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-3.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-3.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-1.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-2.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul4-2.c
+FAIL: gcc.target/riscv/rvv/autovec/bug-3.c
+FAIL: gcc.dg/vect/pr88598-1.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-2.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-2.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul-mixed-1.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-7.c
+FAIL: gcc.dg/vect/pr88598-3.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/pr113112-4.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-4.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-4.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-1.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul8-11.c
+FAIL: c-c++-common/spec-barrier-1.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul1-5.c
+FAIL: gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-6.c
+FAIL: gcc.dg/vect/vect-gather-2.c
+FAIL: gcc.dg/vect/pr88598-2.c
+# Added because machine performance can affect test results.
+FAIL: gcc.dg/tree-prof/time-profiler-2.c
diff --git a/test/allowlist/gcc/gen.py b/test/allowlist/gcc/gen.py new file mode 100644 index 0000000..e06f9ce --- /dev/null +++ b/test/allowlist/gcc/gen.py @@ -0,0 +1,50 @@ +from tqdm import tqdm
+import re
+
+def processlog(filename: str) -> set:
+ with open(filename, "r", encoding='utf-8') as f:
+ data = f.readlines()
+ set1 = set()
+ for line in tqdm(data):
+ result = re.match('^.*((FAIL|UNRESOLVED): .*.c) .*$',line) #使用正则表达式筛选每一行的数据,自行查找正则表达式
+ if result:
+ t = (result.group(1)) #group(1)将正则表达式的(/d.*/d)提取出来
+ set1.add(t)
+ return set1
+
+def writeset(filename: str, set1: set) -> None:
+ if len(set1)!=0:
+ with open(filename, "a", encoding='utf-8') as f1:
+ for t in tqdm(set1):
+ f1.write(t+'\n')
+
+newlib64=processlog("10_build (ubuntu-24.04, newlib, rv64gc-lp64d, gcc).txt")
+newlib32=processlog("25_build (ubuntu-24.04, newlib, rv32gc-ilp32d, gcc).txt")
+linux64=processlog("24_build (ubuntu-24.04, linux, rv64gc-lp64d, gcc).txt")
+linux32=processlog("15_build (ubuntu-24.04, linux, rv32gc-ilp32d, gcc).txt")
+
+# common should be 4 intersection
+commonerror=set.intersection(newlib64, newlib32, linux64, linux32)
+writeset("res/common.log",commonerror)
+# rv32
+rv32=set.intersection(newlib32, linux32)
+rv32=rv32-commonerror
+writeset("res/rv32.log",rv32)
+# rv64
+rv64=set.intersection(newlib64, linux64)
+rv64=rv64-commonerror
+writeset("res/rv64.log",rv64)
+# glibc
+glibc=set.intersection(linux32, linux64)
+glibc=glibc-commonerror
+writeset("res/glibc.log",glibc)
+# newlib
+newlib=set.intersection(newlib64, newlib32)
+newlib=newlib-commonerror
+writeset("res/newlib.log",newlib)
+
+# everything out of it
+writeset("res/glibc.rv32.log",linux32-rv32-glibc-commonerror)
+writeset("res/glibc.rv64.log",linux64-rv64-glibc-commonerror)
+writeset("res/newlib.rv32.log",newlib32-rv32-newlib-commonerror)
+writeset("res/newlib.rv64.log",newlib64-rv64-newlib-commonerror)
diff --git a/test/allowlist/gcc/glibc.log b/test/allowlist/gcc/glibc.log index 6ef0d7f..84342cf 100644 --- a/test/allowlist/gcc/glibc.log +++ b/test/allowlist/gcc/glibc.log @@ -1,74 +1,6 @@ -# -# XXX: Need review why. -# -FAIL: gfortran.dg/matmul_15.f90 -FAIL: gfortran.dg/ieee/comparisons_3.F90 -FAIL: gfortran.dg/ieee/ieee_1.F90 -FAIL: gfortran.dg/ieee/ieee_2.f90 -FAIL: gfortran.dg/ieee/ieee_6.f90 -FAIL: gfortran.dg/ieee/large_2.f90 -FAIL: gfortran.dg/ieee/large_3.F90 -FAIL: gfortran.dg/ieee/modes_1.f90 -FAIL: gfortran.dg/ieee/rounding_1.f90 -# -# Fails if there is no F extension -# -FAIL: gfortran.dg/ieee/rounding_3.f90 -# -# Fixed but not backport -# -UNRESOLVED: gcc.target/riscv/rvv/autovec/vls-vlmax/full-vec-move1.c -FAIL: gcc.target/riscv/rvv/autovec/vls-vlmax/full-vec-move1.c -# -# Unknown random fail case. -# -FAIL: gcc.dg/tree-prof/time-profiler-2.c -# -# RVV fail cases(still exist on upstream) -# -FAIL: gcc.dg/vect/costmodel/riscv/rvv/pr113112-2.c -FAIL: gcc.target/riscv/rvv/autovec/bug-1.c -FAIL: gcc.target/riscv/rvv/autovec/pr113087-2.c -FAIL: gcc.target/riscv/rvv/autovec/vls/misalign-1.c -FAIL: gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-1.c -FAIL: gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-2.c -FAIL: gcc.target/riscv/rvv/base/abi-callee-saved-1-save-restore.c -FAIL: gcc.target/riscv/rvv/base/abi-callee-saved-1-zcmp.c -FAIL: gcc.target/riscv/rvv/base/abi-callee-saved-1.c -FAIL: gcc.target/riscv/rvv/base/abi-callee-saved-2-save-restore.c -FAIL: gcc.target/riscv/rvv/base/abi-callee-saved-2-zcmp.c -FAIL: gcc.target/riscv/rvv/base/abi-callee-saved-2.c -FAIL: gcc.target/riscv/rvv/base/pr110943.c -FAIL: gcc.target/riscv/rvv/base/pr111533-2.c -FAIL: gcc.target/riscv/rvv/base/pr112743-2.c -FAIL: gcc.target/riscv/rvv/base/pr114639-1.c -FAIL: gcc.target/riscv/rvv/base/pr115456-1.c -FAIL: gcc.target/riscv/rvv/base/pr115456-2.c -FAIL: gcc.target/riscv/rvv/base/pr115456-3.c -FAIL: gcc.target/riscv/rvv/base/vlmul_ext-1.c -FAIL: gcc.target/riscv/rvv/vsetvl/pr111234.c -FAIL: gcc.target/riscv/rvv/vsetvl/pr115214.c -FAIL: gcc.target/riscv/rvv/vsetvl/vsetvl-24.c -UNRESOLVED: gcc.dg/vect/costmodel/riscv/rvv/pr113112-2.c -UNRESOLVED: gcc.target/riscv/rvv/autovec/bug-1.c -UNRESOLVED: gcc.target/riscv/rvv/autovec/pr113087-2.c -UNRESOLVED: gcc.target/riscv/rvv/autovec/vls/misalign-1.c -UNRESOLVED: gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-1.c -UNRESOLVED: gcc.target/riscv/rvv/base/abi-callee-saved-1-fixed-2.c -UNRESOLVED: gcc.target/riscv/rvv/base/abi-callee-saved-1-save-restore.c -UNRESOLVED: gcc.target/riscv/rvv/base/abi-callee-saved-1-zcmp.c -UNRESOLVED: gcc.target/riscv/rvv/base/abi-callee-saved-1.c -UNRESOLVED: gcc.target/riscv/rvv/base/abi-callee-saved-2-save-restore.c -UNRESOLVED: gcc.target/riscv/rvv/base/abi-callee-saved-2-zcmp.c -UNRESOLVED: gcc.target/riscv/rvv/base/abi-callee-saved-2.c -UNRESOLVED: gcc.target/riscv/rvv/base/pr110943.c -UNRESOLVED: gcc.target/riscv/rvv/base/pr111533-2.c -UNRESOLVED: gcc.target/riscv/rvv/base/pr112743-2.c -UNRESOLVED: gcc.target/riscv/rvv/base/pr114639-1.c -UNRESOLVED: gcc.target/riscv/rvv/base/pr115456-1.c -UNRESOLVED: gcc.target/riscv/rvv/base/pr115456-2.c -UNRESOLVED: gcc.target/riscv/rvv/base/pr115456-3.c -UNRESOLVED: gcc.target/riscv/rvv/base/vlmul_ext-1.c -UNRESOLVED: gcc.target/riscv/rvv/vsetvl/pr111234.c -UNRESOLVED: gcc.target/riscv/rvv/vsetvl/pr115214.c -UNRESOLVED: gcc.target/riscv/rvv/vsetvl/vsetvl-24.c +UNRESOLVED: gcc.target/riscv/rvv/xtheadvector/prefix.c
+FAIL: gfortran.dg/ieee/modes_1.f90
+FAIL: gcc.target/riscv/rvv/vtype-call-clobbered.c
+UNRESOLVED: gcc.target/riscv/rvv/vtype-call-clobbered.c
+FAIL: gcc.target/riscv/rvv/xtheadvector/prefix.c
+FAIL: gfortran.dg/ieee/ieee_6.f90
diff --git a/test/allowlist/gcc/glibc.rv32.log b/test/allowlist/gcc/glibc.rv32.log new file mode 100644 index 0000000..8c490ef --- /dev/null +++ b/test/allowlist/gcc/glibc.rv32.log @@ -0,0 +1,40 @@ +FAIL: g++.target/riscv/rvv/autovec/pr116595.C
+UNRESOLVED: gcc.target/riscv/rvv/base/pr115456-2.c
+UNRESOLVED: gcc.target/riscv/rvv/autovec/pr113087-2.c
+UNRESOLVED: gcc.target/riscv/rvv/xsfvector/sf_vfnrclip_x_f_qf.c
+FAIL: gcc.target/riscv/rvv/autovec/vls/misalign-1.c
+UNRESOLVED: gcc.target/riscv/rvv/xsfvector/sf_vqmaccu_2x8x2.c
+FAIL: gcc.target/riscv/rvv/xsfvector/sf_vqmaccu_4x8x4.c
+UNRESOLVED: gcc.target/riscv/rvv/xsfvector/sf_vqmacc_4x8x4.c
+FAIL: gcc.target/riscv/rvv/xsfvector/sf_vqmacc_4x8x4.c
+UNRESOLVED: gcc.target/riscv/rvv/xsfvector/sf_vqmaccu_4x8x4.c
+FAIL: gcc.target/riscv/rvv/base/pr115456-1.c
+FAIL: gcc.target/riscv/rvv/xsfvector/sf_vqmaccus_2x8x2.c
+UNRESOLVED: gcc.target/riscv/rvv/base/pr115456-3.c
+FAIL: gcc.target/riscv/rvv/base/pr115456-2.c
+UNRESOLVED: gcc.target/riscv/rvv/xsfvector/sf_vfnrclip_xu_f_qf.c
+FAIL: gcc.target/riscv/rvv/xsfvector/sf_vqmaccus_4x8x4.c
+FAIL: gcc.target/riscv/rvv/base/pr111533-2.c
+UNRESOLVED: gcc.target/riscv/rvv/xsfvector/sf_vqmaccus_4x8x4.c
+UNRESOLVED: gcc.target/riscv/rvv/xsfvector/sf_vqmacc_2x8x2.c
+FAIL: gcc.target/riscv/rvv/xsfvector/sf_vfnrclip_xu_f_qf.c
+FAIL: gcc.target/riscv/rvv/xsfvector/sf_vqmaccsu_4x8x4.c
+UNRESOLVED: gcc.target/riscv/pr112398.c
+FAIL: gcc.target/riscv/pr112398.c
+FAIL: gcc.target/riscv/rvv/xsfvector/sf_vqmacc_2x8x2.c
+UNRESOLVED: gcc.target/riscv/rvv/autovec/bug-1.c
+UNRESOLVED: gcc.target/riscv/rvv/xsfvector/sf_vqmaccsu_4x8x4.c
+UNRESOLVED: gcc.target/riscv/rvv/base/pr115456-1.c
+FAIL: gcc.target/riscv/rvv/base/pr112743-2.c
+FAIL: gcc.target/riscv/rvv/xsfvector/sf_vqmaccsu_2x8x2.c
+FAIL: gcc.target/riscv/rvv/autovec/pr113087-2.c
+FAIL: gcc.target/riscv/slt-1.c
+FAIL: gcc.target/riscv/rvv/xsfvector/sf_vqmaccu_2x8x2.c
+FAIL: gcc.target/riscv/rvv/base/pr115456-3.c
+FAIL: gcc.target/riscv/rvv/xsfvector/sf_vfnrclip_x_f_qf.c
+FAIL: gcc.target/riscv/rvv/autovec/bug-1.c
+UNRESOLVED: gcc.dg/vect/costmodel/riscv/rvv/pr113112-2.c
+UNRESOLVED: gcc.target/riscv/slt-1.c
+UNRESOLVED: gcc.target/riscv/rvv/autovec/vls/misalign-1.c
+UNRESOLVED: gcc.target/riscv/rvv/xsfvector/sf_vqmaccsu_2x8x2.c
+UNRESOLVED: gcc.target/riscv/rvv/xsfvector/sf_vqmaccus_2x8x2.c
diff --git a/test/allowlist/gcc/glibc.rv64.log b/test/allowlist/gcc/glibc.rv64.log new file mode 100644 index 0000000..a114ca2 --- /dev/null +++ b/test/allowlist/gcc/glibc.rv64.log @@ -0,0 +1,12 @@ +UNRESOLVED: gcc.target/riscv/rvv/xtheadvector/vlh-vsh.c
+FAIL: gcc.target/riscv/rvv/xtheadvector/vlbu-vsb.c
+FAIL: gcc.target/riscv/rvv/xtheadvector/vlh-vsh.c
+UNRESOLVED: gcc.target/riscv/rvv/xtheadvector/vlwu-vsw.c
+FAIL: gcc.target/riscv/rvv/xtheadvector/vlhu-vsh.c
+UNRESOLVED: gcc.target/riscv/rvv/xtheadvector/vlw-vsw.c
+UNRESOLVED: gcc.target/riscv/rvv/xtheadvector/vlb-vsb.c
+UNRESOLVED: gcc.target/riscv/rvv/xtheadvector/vlhu-vsh.c
+UNRESOLVED: gcc.target/riscv/rvv/xtheadvector/vlbu-vsb.c
+FAIL: gcc.target/riscv/rvv/xtheadvector/vlwu-vsw.c
+FAIL: gcc.target/riscv/rvv/xtheadvector/vlw-vsw.c
+FAIL: gcc.target/riscv/rvv/xtheadvector/vlb-vsb.c
diff --git a/test/allowlist/gcc/newlib-nano.f.log b/test/allowlist/gcc/newlib-nano.f.log deleted file mode 100644 index 37b510a..0000000 --- a/test/allowlist/gcc/newlib-nano.f.log +++ /dev/null @@ -1,4 +0,0 @@ -# -# errno, failed because newlib nano didn't build with _POSIX_MODE -# -FAIL: gcc.dg/torture/pr68264.c diff --git a/test/allowlist/gcc/newlib-nano.log b/test/allowlist/gcc/newlib-nano.log deleted file mode 100644 index 9eb3e9c..0000000 --- a/test/allowlist/gcc/newlib-nano.log +++ /dev/null @@ -1,34 +0,0 @@ -# -# We didn't init thread pointer in qemu nor newlib. -# -FAIL: gcc.dg/tls/pr78796.c execution test -FAIL: g++.dg/cpp2a/decomp2.C -# -# freopen with stdout not work correctly for newlib -# -FAIL: gcc.c-torture/execute/user-printf.c -FAIL: gcc.c-torture/execute/fprintf-2.c -FAIL: gcc.c-torture/execute/printf-2.c -# -# newlib-nano didn't print out floating point by default, -# program must link with -u_printf_float. -# -FAIL: g++.old-deja/g++.brendan/nest21.C -FAIL: gcc.dg/torture/builtin-sprintf.c -FAIL: gcc.dg/tree-ssa/builtin-sprintf.c -FAIL: gcc.c-torture/execute/930513-1.c -FAIL: gcc.c-torture/execute/920501-8.c -FAIL: gcc.c-torture/execute/ieee/920810-1.c -FAIL: gcc.c-torture/execute/printf-2.c -# -# newlib nano using LITE_EXIT, __register_exitproc won't link by default, -# so dtor of global var not work properly. -# Program must link with -u __register_exitproc to work properly. -# -FAIL: g++.dg/init/ref15.C -FAIL: g++.old-deja/g++.other/init18.C -FAIL: g++.old-deja/g++.pt/static11.C -# -# Missing dg-require-effective-target shared -# -FAIL: g++.dg/lto/pr87906 diff --git a/test/allowlist/gcc/newlib.log b/test/allowlist/gcc/newlib.log index 50d20d8..2b877ee 100644 --- a/test/allowlist/gcc/newlib.log +++ b/test/allowlist/gcc/newlib.log @@ -1,14 +1,4 @@ -# -# We didn't init thread pointer in qemu nor newlib. -# -FAIL: g++.dg/cpp2a/decomp2.C -# -# freopen with stdout not work correctly for newlib -# -FAIL: gcc.c-torture/execute/user-printf.c -FAIL: gcc.c-torture/execute/fprintf-2.c -FAIL: gcc.c-torture/execute/printf-2.c -# -# Spike execution fail -# -FAIL: g++.dg/vect/pr84556.cc +FAIL: gcc.c-torture/execute/printf-2.c
+FAIL: gcc.c-torture/execute/fprintf-2.c
+FAIL: gcc.c-torture/execute/user-printf.c
+FAIL: g++.dg/cpp2a/decomp2.C
diff --git a/test/allowlist/gcc/newlib.rv32.log b/test/allowlist/gcc/newlib.rv32.log deleted file mode 100644 index 1f1aee1..0000000 --- a/test/allowlist/gcc/newlib.rv32.log +++ /dev/null @@ -1,8 +0,0 @@ -# -# RV32 only -# -UNRESOLVED: g++.dg/vect/pr115278.cc -FAIL: g++.dg/vect/pr115278.cc -FAIL: c-c++-common/analyzer/out-of-bounds-diagram-11.c -FAIL: c-c++-common/analyzer/out-of-bounds-diagram-8.c -FAIL: gcc.dg/analyzer/out-of-bounds-diagram-10.c diff --git a/test/allowlist/gcc/rv32.log b/test/allowlist/gcc/rv32.log index 758bc9f..5a98589 100644 --- a/test/allowlist/gcc/rv32.log +++ b/test/allowlist/gcc/rv32.log @@ -1,5 +1,8 @@ -# -# RV32 only -# -FAIL: gcc.target/riscv/rvv/base/vwaddsub-1.c -FAIL: gcc.dg/torture/pr113026-1.c +UNRESOLVED: gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-slide.c
+FAIL: gcc.dg/tree-ssa/pr83403-1.c
+FAIL: gcc.dg/tree-ssa/pr83403-2.c
+FAIL: gcc.target/riscv/pr116715.c
+FAIL: gcc.dg/torture/pr113026-1.c
+FAIL: gcc.dg/pr90838-2.c
+UNRESOLVED: gcc.target/riscv/pr116715.c
+FAIL: gcc.target/riscv/rvv/autovec/vls-vlmax/shuffle-slide.c
|