diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2023-08-24 14:02:59 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2023-09-19 09:37:53 -0700 |
| commit | 66312c0b51c43feb40892c8873f018619b8d3fed (patch) | |
| tree | 1cf3d8471fe141ed4dabf3a4c260941b1d67ee5c /lib/std/Build/Step/WriteFile.zig | |
| parent | 75b8b21cc1db3413578b5b42a39a40fb8b140da4 (diff) | |
| download | zig-66312c0b51c43feb40892c8873f018619b8d3fed.tar.gz zig-66312c0b51c43feb40892c8873f018619b8d3fed.zip | |
clang: -fno-sanitize=function workaround
It is very common, and well-defined, for a pointer on one side of a C ABI
to have a different but compatible element type. Examples include:
- `char*` vs `uint8_t*` on a system with 8-bit bytes
- `const char*` vs `char*`
- `char*` vs `unsigned char*`
Without this flag, Clang would invoke UBSAN when such an extern
function was called.
Might be nice to file an upstream issue and find out if there is a more
precise way to disable the problematic check.
`-fsanitize-cfi-icall-generalize-pointers` looks promising according to
the documentation, but empirically it does not work.
Diffstat (limited to 'lib/std/Build/Step/WriteFile.zig')
0 files changed, 0 insertions, 0 deletions
