Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libgccjit ICE when compiling to arm-unknown-linux-gnueabi #557

Open
sapir opened this issue Aug 13, 2024 · 1 comment
Open

libgccjit ICE when compiling to arm-unknown-linux-gnueabi #557

sapir opened this issue Aug 13, 2024 · 1 comment

Comments

@sapir
Copy link
Contributor

sapir commented Aug 13, 2024

Using an arm-unknown-linux-gnueabi toolchain built with the setup in cross-gcc / crosstool-ng, I get an ICE while building the sysroot:

± PATH=~/x-tools/arm-unknown-linux-gnueabi/usr/bin:$PATH ./y.sh build --sysroot --target-triple arm-unknown-linux-gnueabi
[BUILD] build system
    Finished `release` profile [optimized] target(s) in 0.31s
   Compiling libc v0.2.150
   Compiling linux-raw-sys v0.4.5
   Compiling bitflags v2.4.0
   Compiling memchr v2.5.0
   Compiling cfg-if v1.0.0
   Compiling rustix v0.38.8
   Compiling fastrand v2.0.0
   Compiling object v0.30.4
   Compiling gccjit_sys v0.2.0
   Compiling gccjit v2.1.0
   Compiling smallvec v1.10.0
   Compiling tempfile v3.7.1
   Compiling rustc_codegen_gcc v0.1.0 (/home/user/dev/rustc_codegen_gcc)
    Finished `dev` profile [optimized + debuginfo] target(s) in 39.42s
[BUILD] sysroot
warning: no edition set: defaulting to the 2015 edition while the latest is 2021
    Updating crates.io index
     Locking 5 packages to latest compatible versions
    Updating addr2line v0.21.0 -> v0.22.0 (latest: v0.24.1)
      Adding gimli v0.29.0 (latest: v0.31.0)
    Updating hermit-abi v0.3.9 -> v0.4.0
    Updating object v0.32.2 -> v0.36.3
    Updating rustc-demangle v0.1.23 -> v0.1.24
  Downloaded unicode-width v0.1.12
  Downloaded compiler_builtins v0.1.109
  Downloaded object v0.36.3
  Downloaded 3 crates (535.5 KB) in 1.12s
   Compiling compiler_builtins v0.1.109
   Compiling core v0.0.0 (/home/user/dev/rustc_codegen_gcc/build/build_sysroot/sysroot_src/library/core)
   Compiling libc v0.2.153
   Compiling std v0.0.0 (/home/user/dev/rustc_codegen_gcc/build/build_sysroot/sysroot_src/library/std)
   Compiling rustc-std-workspace-core v1.99.0 (/home/user/dev/rustc_codegen_gcc/build/build_sysroot/sysroot_src/library/rustc-std-workspace-core)
   Compiling alloc v0.0.0 (/home/user/dev/rustc_codegen_gcc/build/build_sysroot/sysroot_src/library/alloc)
during RTL pass: expand
during RTL pass: expand
libgccjit.so: /home/user/dev/rustc_codegen_gcc/build/build_sysroot/sysroot_src/library/core/src/num/f32.rs:524:6: internal compiler error: : in hash_rtx, at cse.cc:2546
libgccjit.so: sysroot_src/library/core/src/num/dec2flt/float.rs:125:6: internal compiler error: : in hash_rtx, at cse.cc:2546
during RTL pass: expand
libgccjit.so: /home/user/dev/rustc_codegen_gcc/build/build_sysroot/sysroot_src/library/core/src/num/uint_macros.rs:2727:21: internal compiler error: : in hash_rtx, at cse.cc:2546
0x7daee59dc603 hash_rtx(rtx_def const*, machine_mode, int*, int*, bool, bool (*)(rtx_def const*, machine_mode, rtx_def**, machine_mode*))
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/cse.cc:2546
0x76565cbdc603 hash_rtx(rtx_def const*, machine_mode, int*, int*, bool, bool (*)(rtx_def const*, machine_mode, rtx_def**, machine_mode*))
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/cse.cc:2546
0x7f412e9dc603 hash_rtx(rtx_def const*, machine_mode, int*, int*, bool, bool (*)(rtx_def const*, machine_mode, rtx_def**, machine_mode*))
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/cse.cc:2546
0x7f412f48e840 libcall_hasher::hash(rtx_def const*)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/config/arm/arm.cc:5904
0x7f412f48e840 hash_table<libcall_hasher, false, xcallocator>::verify(rtx_def const* const&, unsigned int)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/hash-table.h:1116
0x7f412f48a667 hash_table<libcall_hasher, false, xcallocator>::find_with_hash(rtx_def const* const&, unsigned int)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/hash-table.h:994
0x7daee648e840 libcall_hasher::hash(rtx_def const*)
0x7f412f48a667 hash_table<libcall_hasher, false, xcallocator>::find(rtx_def const* const&)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/config/arm/arm.cc:5904
0x7daee648e840 hash_table<libcall_hasher, false, xcallocator>::verify(rtx_def const* const&, unsigned int)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/hash-table.h:1116
0x7daee648a667 hash_table<libcall_hasher, false, xcallocator>::find_with_hash(rtx_def const* const&, unsigned int)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/hash-table.h:994
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/hash-table.h:430
0x7daee648a667 hash_table<libcall_hasher, false, xcallocator>::find(rtx_def const* const&)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/hash-table.h:430
0x7f412f48a667 arm_libcall_uses_aapcs_base
0x7daee648a667 arm_libcall_uses_aapcs_base
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/config/arm/arm.cc:6006
0x76565d68e840 libcall_hasher::hash(rtx_def const*)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/config/arm/arm.cc:6006
0x7f412f48aaac arm_init_cumulative_args(CUMULATIVE_ARGS*, tree_node*, rtx_def*, tree_node*)
0x7daee648aaac arm_init_cumulative_args(CUMULATIVE_ARGS*, tree_node*, rtx_def*, tree_node*)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/config/arm/arm.cc:7134
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/config/arm/arm.cc:7134
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/config/arm/arm.cc:5904
0x76565d68e840 hash_table<libcall_hasher, false, xcallocator>::verify(rtx_def const* const&, unsigned int)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/hash-table.h:1116
0x76565d68a667 hash_table<libcall_hasher, false, xcallocator>::find_with_hash(rtx_def const* const&, unsigned int)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/hash-table.h:994
0x76565d68a667 hash_table<libcall_hasher, false, xcallocator>::find(rtx_def const* const&)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/hash-table.h:430
0x76565d68a667 arm_libcall_uses_aapcs_base
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/config/arm/arm.cc:6006
0x76565d68aaac arm_init_cumulative_args(CUMULATIVE_ARGS*, tree_node*, rtx_def*, tree_node*)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/config/arm/arm.cc:7134
0x7daee5ae934a emit_library_call_value_1(int, rtx_def*, rtx_def*, libcall_type, machine_mode, int, std::pair<rtx_def*, machine_mode>*)
0x7f412eae934a emit_library_call_value_1(int, rtx_def*, rtx_def*, libcall_type, machine_mode, int, std::pair<rtx_def*, machine_mode>*)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/calls.cc:4243
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/calls.cc:4243
0x76565cce934a emit_library_call_value_1(int, rtx_def*, rtx_def*, libcall_type, machine_mode, int, std::pair<rtx_def*, machine_mode>*)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/calls.cc:4243
0x7daee5f0d46f emit_library_call_value(rtx_def*, rtx_def*, libcall_type, machine_mode, rtx_def*, machine_mode, rtx_def*, machine_mode)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/rtl.h:4424
0x7daee5f0d46f expand_binop(machine_mode, optab_tag, rtx_def*, rtx_def*, rtx_def*, int, optab_methods)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/optabs.cc:2220
0x7daee5f0f547 sign_expand_binop(machine_mode, optab_tag, optab_tag, rtx_def*, rtx_def*, rtx_def*, int, optab_methods)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/optabs.cc:2352
0x7f412ef14f53 emit_library_call_value(rtx_def*, rtx_def*, libcall_type, machine_mode, rtx_def*, machine_mode)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/rtl.h:4411
0x7f412ef14f53 expand_float(rtx_def*, rtx_def*, int)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/optabs.cc:5735
0x76565d104508 emit_library_call_value(rtx_def*, rtx_def*, libcall_type, machine_mode, rtx_def*, machine_mode, rtx_def*, machine_mode)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/rtl.h:4424
0x76565d104508 prepare_float_lib_cmp
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/optabs.cc:4996
0x76565d104508 prepare_cmp_insn
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/optabs.cc:4629
0x76565d104c2f emit_cmp_and_jump_insns(rtx_def*, rtx_def*, rtx_code, rtx_def*, machine_mode, int, tree_node*, rtx_def*, profile_probability)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/optabs.cc:4853
0x76565cd7f250 do_compare_rtx_and_jump(rtx_def*, rtx_def*, rtx_code, int, tree_node*, machine_mode, rtx_def*, rtx_code_label*, rtx_code_label*, profile_probability)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/dojump.cc:1238
0x76565cd806c1 do_compare_rtx_and_jump(rtx_def*, rtx_def*, rtx_code, int, machine_mode, rtx_def*, rtx_code_label*, rtx_code_label*, profile_probability)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/dojump.cc:966
0x7daee5c24252 expand_divmod(int, tree_code, machine_mode, rtx_def*, rtx_def*, rtx_def*, int, optab_methods)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/expmed.cc:5298
0x76565ce228fb emit_store_flag_force(rtx_def*, rtx_code, rtx_def*, rtx_def*, machine_mode, int, int)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/expmed.cc:6250
0x76565ce228fb emit_store_flag_force(rtx_def*, rtx_code, rtx_def*, rtx_def*, machine_mode, int, int)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/expmed.cc:6175
0x7f412ec3418b expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/expr.cc:10337
0x7f412ec3b45e expand_expr_real_gassign(gassign*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/expr.cc:11096
0x7daee5c32c33 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/expr.cc:10296
0x7daee5c3b45e expand_expr_real_gassign(gassign*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/expr.cc:11096
0x76565ce31570 do_store_flag
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/expr.cc:13701
0x76565ce32ad3 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/expr.cc:10684
0x76565ce3b45e expand_expr_real_gassign(gassign*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool)
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/expr.cc:11096
0x7f412eb00267 expand_gimple_stmt_1
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/cfgexpand.cc:4010
0x7f412eb00267 expand_gimple_stmt
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/cfgexpand.cc:4071
0x7f412eb06bfb expand_gimple_basic_block
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/cfgexpand.cc:6127
0x7daee5b00267 expand_gimple_stmt_1
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/cfgexpand.cc:4010
0x7daee5b00267 expand_gimple_stmt
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/cfgexpand.cc:4071
0x7daee5b06bfb expand_gimple_basic_block
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/cfgexpand.cc:6127
0x76565cd00703 expand_gimple_stmt_1
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/cfgexpand.cc:4010
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
error: could not compile `compiler_builtins` (lib)
warning: build failed, waiting for other jobs to finish...
0x7daee5b088a6 execute
0x7f412eb088a6 execute
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/cfgexpand.cc:6866
        /home/user/dev/cross-gcc/arm-unknown-linux-gnueabi/.build/arm-unknown-linux-gnueabi/src/gcc/gcc/cfgexpand.cc:6866
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
error: could not compile `alloc` (lib)
error: could not compile `core` (lib)
Command `["cargo", "build", "--target", "arm-unknown-linux-gnueabi"]` failed
Command failed to run: Command `cargo build --target arm-unknown-linux-gnueabi` (running in folder `build/build_sysroot`) exited with status Some(101)
@antoyo
Copy link
Contributor

antoyo commented Aug 19, 2024

I never tried with this arch, but this is the next on my list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants