Skip to content

CFI: f32 and f64 are encoded incorrectly for cross-language CFI #115150

Closed
@rcvalle

Description

@rcvalle

I missed changing the encoding for f32 and f64 when I introduced the integer normalization option in #105452 as integer normalization does not include floating point. f32 and f64 should be always encoded as f and d since they are both FFI safe when their representation are the same (i.e., IEEE 754) for both the Rust compiler and Clang.

Metadata

Metadata

Assignees

Labels

C-bugCategory: This is a bug.PG-exploit-mitigationsProject group: Exploit mitigationsT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.requires-nightlyThis issue requires a nightly compiler in some way.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions