diff options
-rwxr-xr-x | .github/cleanup-rootfs.sh | 21 | ||||
-rwxr-xr-x | .github/setup-apt.sh | 2 | ||||
-rw-r--r-- | .gitmodules | 17 | ||||
-rw-r--r-- | Makefile.in | 16 | ||||
-rw-r--r-- | README.md | 24 | ||||
m--------- | gcc | 0 | ||||
m--------- | gdb | 0 | ||||
m--------- | glibc | 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, 197 insertions, 215 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 c8e467c..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 + 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,7 +25,7 @@ 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 -Syu curl python3 libmpc mpfr gmp base-devel texinfo gperf patchutils bc zlib expat libslirp @@ -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. @@ -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 @@ -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/gcc b/gcc -Subproject 04696df09633baf97cdbbdd6e9929b9d472161d +Subproject 1b306039ac49f8ad91ca71d3de3150a3c9fa792 diff --git a/gdb b/gdb -Subproject 23c84db5b3cb4e8a0d555c76e1a0ab56dc8355f +Subproject 800169229d1c69a6d9ad4a6f7b7481aca75eeef diff --git a/glibc b/glibc -Subproject 3d1aed874918c466a4477af1da35983ab036690 +Subproject 74f59e9271cbb4071671e5a474e7d4f1622b186 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
|