{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreigz6w4ellrofkthh7yi3mgxrbjenvg7qgcszocxpjecye6zlsy6oy",
"uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mj5kynl42ri2"
},
"path": "/t/pre-rfc-btf-relocations/24161#post_10",
"publishedAt": "2026-04-10T13:59:55.000Z",
"site": "https://internals.rust-lang.org",
"tags": [
"Swift stable ABI"
],
"textContent": "A few questions:\n\n * Can a relocation affect whether two fields overlap (e.g. if a `struct` changes to a `union`)?\n * Can a relocation change an array index?\n * Can a relocation affect the number of pointer dereferences necessary to access a field?\n * Is it ever possible to construct one of these structs? Or does the potential for additional fields Rust doesn't know about mean construction must be forbidden?\n * Do we need an analogue of `#[link_name]` for struct and field names?\n * What is the failure mode like? If you make a mistake or run on an unsupported kernel version, and the relocations aren't sufficient to make offets or types line up, is the verifier guaranteed to reject the program?\n * Is there any connection to/similarity with Swift stable ABI?\n\n",
"title": "[Pre-RFC] BTF relocations"
}