diff options
| author | Robert Scott <code@humanleg.org.uk> | 2023-12-17 14:04:44 +0000 |
|---|---|---|
| committer | Robert Scott <code@humanleg.org.uk> | 2024-01-21 11:16:07 +0000 |
| commit | 506ec38e7f2292790dba1b34b5def792ad2de5e8 (patch) | |
| tree | e7c21ea686b47dfd13b524b4aa48ea162a790168 /pkgs/development/python-modules/python-openstackclient/git@git.tavy.me:nixos | |
| parent | e79c13385843382aa2256898f80b44030889f9a5 (diff) | |
cc-wrapper, clang: use new mechanism to selectively unsupport zerocallusedregs
this allows a compiler derivation to provide a
hardeningUnsupportedFlagsByTargetPlatform passthru attr
that will be called with the targetPlatform to determine
the unsupported hardening flags for that platform.
we can do this because even though a clang compiler is
multi-target by nature, cc-wrapper effectively fixes the
target platform at wrapping time. otherwise we'd have to
sniff the intended target at runtime, which wouldn't
be fun at all.
the advantage of using a new attribute instead of
allowing hardeningUnsupportedFlags to optionally be a
function is that hardeningUnsupportedFlags retains its
simple overriding pattern for simple cases (i.e.
`(prev.hardeningUnsupportedFlags or []) ++ [ "foo" ]`
) which will continue to work as long as the bottom-most
function of hardeningUnsupportedFlagsByTargetPlatform
falls back to hardeningUnsupportedFlags.
Diffstat (limited to 'pkgs/development/python-modules/python-openstackclient/git@git.tavy.me:nixos')
0 files changed, 0 insertions, 0 deletions
