Inconsistency between `target-pointer-width` and `target-c-int-width`

⚓ Rust    📅 2025-07-31    👤 surdeus    👁️ 11      

surdeus

Warning

This post was published 125 days ago. The information described in this article may have changed.

Hello, I am currently working on a minimalist 32-bit kernel in rust, for this, I use a target specialized (file below), however, I do not understand why target-pointer-width must be a string while target-c-int-width must be an int.

{
"llvm-target": "i686-unknown-none",
"data-layout": "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i128:128-f64:32:64-f80:32-n8:16:32-S128",
"arch": "x86",
"target-endian": "little",
"target-pointer-width": "32",
"target-c-int-width": 32,
"os": "none",
"executables": true,
"linker-flavor": "ld.lld",
"linker": "rust-lld",
"panic-strategy": "abort",
"pre-link-args": {
"ld": \[
"-T",
"arch/x86/link.ld",
"-melf_i386"
\]
},
"disable-redzone": true,
"features": "-mmx,-sse,+soft-float",
"rustc-abi": "x86-softfloat"
}

I put here the link to my repo so you can test with cargo build

2 posts - 2 participants

Read full topic

🏷️ Rust_feed