Repository navigation
ICE on powerpc64le-unknown-freebsd-gcc version 17.0.0 #4801
Copy link
Copy link
Open
Description
Describe the bug
Whilst compiling zstd I hit an ICE on gcc. This doesn't happen with other programs like ffmpeg, X11 or OpenSSL.
Ran on host: FreeBSD xerix 15.0-RELEASE FreeBSD 15.0-RELEASE releng/15.0-n280995-7aedc8de6446 GENERIC amd64 whilst cross compiling
during GIMPLE pass: vect
/archive/menix/src/eden-ppc/.cache/cpm/zstd/b8d6101fba/lib/dictBuilder/zdict.c: In function 'ZDICT_trainFromBuffer_legacy':
/archive/menix/src/eden-ppc/.cache/cpm/zstd/b8d6101fba/lib/dictBuilder/zdict.c:1088:8: internal compiler error: Bus error
1088 | size_t ZDICT_trainFromBuffer_legacy(void* dictBuffer, size_t dictBufferCapacity,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
0x234cb04 internal_error(char const*, ...)
/archive/menix/src/cross-tool/gcc/gcc/diagnostic-global-context.cc:787
0x1e277fe crash_signal(int)
/archive/menix/src/cross-tool/gcc/gcc/toplev.cc:325
0x121f924 location_wrapper_p(tree_node const*)
/archive/menix/src/cross-tool/gcc/gcc/tree.h:4598
0x121f924 tree_strip_any_location_wrapper(tree_node*)
/archive/menix/src/cross-tool/gcc/gcc/tree.h:4610
0x121f924 operand_compare::hash_operand(tree_node const*, inchash::hash&, unsigned int)
/archive/menix/src/cross-tool/gcc/gcc/fold-const.cc:4023
0x121fe34 operand_compare::hash_operand(tree_node const*, inchash::hash&, unsigned int)
/archive/menix/src/cross-tool/gcc/gcc/fold-const.cc:4076
0x201aa1e vn_nary_op_compute_hash(vn_nary_op_s*)
/archive/menix/src/cross-tool/gcc/gcc/tree-ssa-sccvn.cc:4539
0x201ae28 vn_nary_op_lookup_1(vn_nary_op_s*, vn_nary_op_s**)
/archive/menix/src/cross-tool/gcc/gcc/tree-ssa-sccvn.cc:4669
0x20231b8 vn_nary_op_lookup_pieces(unsigned int, tree_code, tree_node*, tree_node**, vn_nary_op_s**)
/archive/menix/src/cross-tool/gcc/gcc/tree-ssa-sccvn.cc:4691
0x20231b8 visit_phi(gimple*, bool*, bool)
/archive/menix/src/cross-tool/gcc/gcc/tree-ssa-sccvn.cc:6535
0x2021a0f process_bb(rpo_elim&, basic_block_def*, bool, bool, bool, bool, bool, bitmap_head*, bool)
/archive/menix/src/cross-tool/gcc/gcc/tree-ssa-sccvn.cc:8526
0x201fbbd do_rpo_vn_1(function*, edge_def*, bitmap_head*, bool, bool, bool, vn_lookup_kind)
/archive/menix/src/cross-tool/gcc/gcc/tree-ssa-sccvn.cc:9210
0x2021422 do_rpo_vn(function*, edge_def*, bitmap_head*, bool, bool, bool, vn_lookup_kind)
/archive/menix/src/cross-tool/gcc/gcc/tree-ssa-sccvn.cc:9315
0x214d75d (anonymous namespace)::pass_vectorize::execute(function*)
/archive/menix/src/cross-tool/gcc/gcc/tree-vectorizer.cc:1429
To Reproduce
Made a script to repro:
#!/usr/local/bin/bash -ex
export PATH="$PWD/prefix/bin:$PATH"
NPROC=$(nproc || echo 6)
ROOTDIR="$PWD"
TARGET="powerpc64le-unknown-freebsd15.0"
PREFIX="$ROOTDIR/prefix"
SYSROOT="$ROOTDIR/sysroot/$TARGET"
FREEBSD_ARCH=powerpc/powerpc64le
CMAKE_ARCH=ppc64le
mkdir -p "$PREFIX"
install_freebsd_sysroot() {
VERSION="15.1-RELEASE"
FTPSITE="https://download.freebsd.org/ftp"
mkdir -p "$SYSROOT"
[ -f "$SYSROOT/base.txz" ] || wget -O "$SYSROOT/base.txz" "$FTPSITE/releases/$FREEBSD_ARCH/$VERSION/base.txz"
[ -d "$SYSROOT/usr" ] || tar -C "$SYSROOT" -xvzf "$SYSROOT/base.txz"
}
build_hosted_binutils_gdb() {
BUILDDIR="$ROOTDIR/build/$TARGET-binutils-gdb"
SRCDIR="$ROOTDIR/binutils-gdb"
CONFIGURE_FLAGS=(
--prefix="$PREFIX"
--target="$TARGET"
--without-libiconv-prefix
--with-sysroot="$SYSROOT"
--enable-threads=posix
--disable-werror
--disable-intl
--disable-nls
)
[ -d "$SRCDIR" ] || git clone --depth=1 https://github.com/gnutools/binutils-gdb.git "$SRCDIR"
mkdir -p "$BUILDDIR"
cd "$BUILDDIR"
[ -f "$BUILDDIR/Makefile" ] || "$SRCDIR/configure" "${CONFIGURE_FLAGS[@]}"
gmake -j $NPROC
which -- "${TARGET}-as" || {
gmake install
}
cd ..
}
build_hosted_gcc() {
BUILDDIR="$ROOTDIR/build/$TARGET-gcc"
SRCDIR="$ROOTDIR/gcc"
CONFIGURE_FLAGS=(
--prefix="$PREFIX"
--target="$TARGET"
--with-sysroot="$SYSROOT"
--with-abi=elfv2
--enable-gnu-indirect-function
--enable-initfini-array
--with-system-zlib
--without-zstd
--enable-libstdcxx-threads=yes
--enable-languages=c,c++
--enable-threads=posix
--disable-multilib
--disable-gnu-unique-object
--disable-libsanitizer
--disable-libquadmath
--disable-bootstrap
--disable-checking
--disable-libgomp
--disable-libssp
--disable-libvtv
--disable-shared
--disable-gcov
--disable-lto
--disable-cet
--disable-nls
)
which -- "${TARGET}-as"
[ -d "$SRCDIR" ] || git clone --depth=1 https://github.com/gcc-mirror/gcc "$SRCDIR"
mkdir -p "$BUILDDIR"
cd "$BUILDDIR"
[ -f "$BUILDDIR/Makefile" ] || "$SRCDIR/configure" "${CONFIGURE_FLAGS[@]}"
gmake all-gcc -j $NPROC
gmake all-target-libgcc -j $NPROC
gmake all-target-libstdc++-v3 -j $NPROC
which -- "${TARGET}-gcc" || {
gmake install-gcc -j $NPROC
gmake install-target-libgcc -j $NPROC
gmake install-target-libstdc++-v3 -j $NPROC
}
cd ..
}
generate_cmake_toolchain_file() {
FILE="$ROOTDIR/$TARGET-toolchain.cmake"
[ -f "$FILE" ] || cat << EOF >"$FILE"
set(CMAKE_SYSROOT "$SYSROOT")
set(CMAKE_PREFIX_PATH "$SYSROOT")
set(CMAKE_STAGING_PREFIX "$PREFIX")
set(PKG_CONFIG_EXECUTABLE "$ROOTDIR/pkg-config")
set(CMAKE_SYSTEM_NAME "FreeBSD")
set(CMAKE_SYSTEM_PROCESSOR "$CMAKE_ARCH")
set(CMAKE_C_COMPILER $PREFIX/bin/$TARGET-gcc)
set(CMAKE_CXX_COMPILER $PREFIX/bin/$TARGET-g++)
set(CMAKE_ASM_COMPILER $PREFIX/bin/$TARGET-gcc)
set(CMAKE_LINKER $PREFIX/bin/$TARGET-g++)
set(CMAKE_C_FLAGS "")
set(CMAKE_CXX_FLAGS "")
set(CMAKE_C_HOST_COMPILER clang)
set(CMAKE_CXX_HOST_COMPILER clang++)
set(CMAKE_ASM_HOST_COMPILER clang)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
EOF
}
install_freebsd_sysroot
mkdir -p "$ROOTDIR/build"
build_hosted_binutils_gdb
build_hosted_gcc
generate_cmake_toolchain_file
cd "$ROOTDIR"
[ -d zstd ] || git clone --depth=1 https://github.com/facebook/zstd
cd zstd/build/cmake
cmake -S . -B build-cmake \
-DCMAKE_TOOLCHAIN_FILE="$ROOTDIR/$TARGET-toolchain.cmake" \
-DCMAKE_BUILD_TYPE=Release \
-DZSTD_BUILD_SHARED=OFF
cmake --build build-cmake -- -j$NPROCExpected behavior
No internal compiler error.
Screenshots and charts
N/A
Desktop (please complete the following information):
- OS: FreeBSD
- Version 15
- Compiler clang (host)
- Flags N/A
- Other relevant hardware specs N/A
- Build system CMake
Additional context
gcc commit: 6e71afffd4c0a9a872790826920548edc3360173
binutils-gdb commit: 421bec796fa3a06179856da870a13cf71ddf5df2
Metadata
Metadata
Assignees
Labels
No labels
Activity