rust-lang / rust-lang/rustc_codegen_gcc
ICE when building tree-sitter@0.25.10 (libgccjit.so: error: : bitcast with types of different sizes)
Open
Nobody has claimed this yet.
bug
- Dominant language
- Rust
- Stars
- 1.2k
- Forks
- 105
- Avg merge
- 8h 20m
- Merged PRs (30d)
- 14
Description
From https://github.com/pkgcraft/pkgcraft:
~/git/pkgcraft $ cargo build
Compiling scallop v0.0.28 (/home/sam/git/pkgcraft/crates/scallop)
Compiling tree-sitter v0.25.10
[...]
libgccjit.so: error: : bitcast with types of different sizes
input expression (size: 64):
<addr_expr 0x7fecd3a0b240
type <pointer_type 0x7fecd3fc9348
type <array_type 0x7fecd3fc92a0 type <integer_type 0x7fece091e348 signed char>
BLK
size <integer_cst 0x7fecd3e167e0 constant 256>
unit-size <integer_cst 0x7fecd3e168b8 constant 32>
user align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7fecd3fc7888 domain <integer_type 0x7fecd3fc77e0>
pointer_to_this <pointer_type 0x7fecd3fc9348>>
unsigned DI
size <integer_cst 0x7fecd3e16480 constant 64>
unit-size <integer_cst 0x7fecd3e16498 constant 8>
align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7fecd3fc7a80>
visited
arg:0 <var_decl 0x7fecd3a07c78 stack_var_1 type <array_type 0x7fecd3fc92a0>
addressable visited BLK (null):0:0 size <integer_cst 0x7fecd3e167e0 256> unit-size <integer_cst 0x7fecd3e168b8 32>
align:64 warn_if_not_align:0 context <function_decl 0x7fecd3d90100 _ZN11tree_sitter10TreeCursor5reset17hd27b4d0f0af69267E>>>
requested type (size: 256):
<record_type 0x7fecd3f9fa80 BLK
size <integer_cst 0x7fecd3e167e0 type <integer_type 0x7fece091e0a8 bitsizetype> constant 256>
unit-size <integer_cst 0x7fecd3e168b8 type <integer_type 0x7fece091e000 sizetype> constant 32>
user align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7fecd3f9fa80
fields <field_decl 0x7fecd3fa0460 field_0
type <array_type 0x7fecd3f9f540 type <integer_type 0x7fecd3f9bd20 int>
BLK
size <integer_cst 0x7fecd3e164f8 constant 0>
unit-size <integer_cst 0x7fecd3e164b0 constant 0>
user align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7fecd3f9f5e8 domain <integer_type 0x7fecd3f9f1f8>>
BLK (null):0:0 size <integer_cst 0x7fecd3e164f8 0> unit-size <integer_cst 0x7fecd3e164b0 0>
user align:32 warn_if_not_align:0 offset_align 256 decl_not_flexarray: 0 offset <integer_cst 0x7fecd3e164b0 0> bit-offset <integer_cst 0x7fecd3e164f8 0> context <record_type 0x7fecd3f9fa80 >
chain <field_decl 0x7fecd3fa0500 field_1 type <array_type 0x7fecd3f9fdc8>
TI (null):0:0
size <integer_cst 0x7fecd3e164c8 constant 128>
unit-size <integer_cst 0x7fecd3e164e0 constant 16>
user align:32 warn_if_not_align:0 offset_align 256 decl_not_flexarray: 0 offset <integer_cst 0x7fecd3e164b0 0> bit-offset <integer_cst 0x7fecd3e164f8 0> context <record_type 0x7fecd3f9fa80 > chain <field_decl 0x7fecd3fa05a0 field_2>>>
pointer_to_this <pointer_type 0x7fecd3fa61f8>>
error: failed to build archive at `/home/sam/git/pkgcraft/target/debug/deps/libtree_sitter-0d20b34fde8c980b.rlib`: failed to open object file: No such file or directory (os error 2)
$ rustc -vV
rustc 1.91.0-nightly (067965d6c 2025-10-27) (gentoo)
binary: rustc
commit-hash: 067965d6cc76bfd49637f46d05ae2111bbd2f121
commit-date: 2025-10-27
host: x86_64-unknown-linux-gnu
release: 1.91.0-nightly
This is with the rust 1.91.0 beta from 20251009 and github.com/rust-lang/rust from b93730ce97c738bdb9209aa973d3fc6fd4ce1d81.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the failure with cargo build in the linked pkgcraft repository, using tree-sitter 0.25.10 and the reported Rust nightly or beta. Start from the tree_sitter::TreeCursor::reset symbol named in the libgccjit diagnostic and investigate the differing bitcast sizes. Done means pkgcraft builds successfully without the libgccjit ICE.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100