androidndkPkgs: Fix unsupported hardening flags

Got this error `clang-17: error: unsupported option '-fzero-call-used-regs=used-gpr' for target 'armv7-unknown-linux-android'`
This commit is contained in:
Artturin
2024-07-21 03:43:19 +03:00
parent 93efb11991
commit 8d709fa3c6
2 changed files with 13 additions and 7 deletions

View File

@@ -1,6 +1,6 @@
{ lib, stdenv, makeWrapper
, runCommand, wrapBintoolsWith, wrapCCWith, autoPatchelfHook
, buildAndroidndk, androidndk, targetAndroidndkPkgs
, llvmPackages, buildAndroidndk, androidndk, targetAndroidndkPkgs
}:
let
@@ -63,6 +63,7 @@ rec {
passthru = {
inherit targetPrefix;
isClang = true; # clang based cc, but bintools ld
inherit (llvmPackages.clang.cc) hardeningUnsupportedFlagsByTargetPlatform;
};
dontUnpack = true;
dontBuild = true;

View File

@@ -2,7 +2,7 @@
}:
let
makeNdkPkgs = ndkVersion:
makeNdkPkgs = ndkVersion: llvmPackages:
let
buildAndroidComposition = buildPackages.buildPackages.androidenv.composeAndroidPackages {
includeNDK = true;
@@ -22,6 +22,10 @@ let
inherit (pkgs)
stdenv
runCommand wrapBintoolsWith wrapCCWith;
# For hardeningUnsupportedFlagsByTargetPlatform
inherit llvmPackages;
# buildPackages.foo rather than buildPackages.buildPackages.foo would work,
# but for splicing messing up on infinite recursion for the variants we
# *dont't* use. Using this workaround, but also making a test to ensure
@@ -33,9 +37,10 @@ let
in
{
"21" = makeNdkPkgs "21.0.6113669";
"23b" = makeNdkPkgs "23.1.7779620";
"24" = makeNdkPkgs "24.0.8215888";
"25" = makeNdkPkgs "25.2.9519653";
"26" = makeNdkPkgs "26.3.11579264";
"21" = makeNdkPkgs "21.0.6113669" pkgs.llvmPackages_14; # "9"
"23b" = makeNdkPkgs "23.1.7779620" pkgs.llvmPackages_14; # "12"
# Versions below 24 use a version not available in nixpkgs/old version which could be removed in the near future so use 14 for them as this is only used to get the hardening flags.
"24" = makeNdkPkgs "24.0.8215888" pkgs.llvmPackages_14;
"25" = makeNdkPkgs "25.2.9519653" pkgs.llvmPackages_14;
"26" = makeNdkPkgs "26.3.11579264" pkgs.llvmPackages_17;
}