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 cc-wrapper: Add clang specific options to clang specific file 2022-06-15 11:34:53 -04:00
add-flags.sh cc-wrapper: change cflags order from cc/crt1/libc to crt1/libc/cc 2022-02-20 10:45:45 +00:00
add-gnat-extra-flags.sh cc-wrapper: Fix gnatmake wrapper 2023-01-07 18:32:12 +11:00
add-hardening.sh cc-wrapper: add zerocallusedregs hardening flag 2024-01-20 13:48:33 +00:00
cc-wrapper.sh cc-wrapper: Use MacOS compatible mktemp command 2023-10-05 10:44:34 +02:00
default.nix cc-wrapper, clang: use new mechanism to selectively unsupport zerocallusedregs 2024-01-21 11:16:07 +00:00
fortran-hook.sh mkDerivation, bintools-wrapper: move defaultHardeningFlags determination to bintools-wrapper 2023-12-09 16:30:45 +00:00
gnat-wrapper.sh cc-wrapper: Wrap/link all other GNAT commands 2023-01-07 18:32:12 +11:00
go-wrapper.sh gccgo: wrap go binary (#207670) 2023-01-20 14:31:54 +01:00
setup-hook.sh mkDerivation, bintools-wrapper: move defaultHardeningFlags determination to bintools-wrapper 2023-12-09 16:30:45 +00:00