nixpkgs/pkgs/build-support/cc-wrapper
Robert Scott 506ec38e7f 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.
2024-01-21 11:16:07 +00:00
..
add-clang-cc-cflags-before.sh
add-flags.sh
add-gnat-extra-flags.sh
add-hardening.sh cc-wrapper: add zerocallusedregs hardening flag 2024-01-20 13:48:33 +00:00
cc-wrapper.sh
default.nix cc-wrapper, clang: use new mechanism to selectively unsupport zerocallusedregs 2024-01-21 11:16:07 +00:00
fortran-hook.sh
gnat-wrapper.sh
go-wrapper.sh
setup-hook.sh