nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix

gnu-config: drop support-uefi-triples.patch patch

-70
-4
pkgs/development/libraries/gnu-config/default.nix
··· 23 23 pname = "gnu-config"; 24 24 version = "2023-09-19"; 25 25 26 - patches = [ 27 - ./support-uefi-triples.patch 28 - ]; 29 - 30 26 unpackPhase = '' 31 27 runHook preUnpack 32 28 cp ${configGuess} ./config.guess
-66
pkgs/development/libraries/gnu-config/support-uefi-triples.patch
··· 1 - This commit causes gnu-config to recognize the *-*-uefi triples. 2 - 3 - These triples describe binaries which use the PE object file format 4 - and UEFI calling "convention" (which is actually a family of 5 - completely unrelated calling conventions, one per CPU architecture): 6 - 7 - - https://uefi.org/specs/UEFI/2.9_A/02_Overview.html#detailed-calling-convention 8 - - 9 - https://uefi.org/specs/UEFI/2.9_A/02_Overview.html#detailed-calling-convention-1 10 - - 11 - https://uefi.org/specs/UEFI/2.9_A/02_Overview.html#detailed-calling-convention-2 12 - - https://wiki.osdev.org/UEFI#Calling_Conventions 13 - 14 - This is in contrast to the *-w64-mingw32 triple of GNU-EFI, which 15 - uses the ELF format and cdecl calling convention: 16 - 17 - - https://wiki.osdev.org/UEFI#Calling_Conventions 18 - 19 - Because *-*-uefi uses a different object file format (everywhere) 20 - and calling convention (everywhere except x86_32) from 21 - *-w64-mingw32, the resulting binaries cannot be linked against each 22 - other. This is the primary justification for introducing a new 23 - triple. 24 - 25 - Since gnu-config does not yet have triples for these builds, we 26 - might as well use the same ones already selected by LLVM. It 27 - considers uefi to be an operating system: 28 - 29 - - https://reviews.llvm.org/D131594 30 - 31 - * config.sub (*-*-uefi): Recognize. 32 - 33 - Signed-off-by: Adam Joseph <adam@westernsemico.com> 34 - X-Disclaimer: This commit shall not be construed as the author's approval of 35 - the UEFI boondoggle in any way, shape or form. 36 - --- 37 - config.sub | 9 +++++++++ 38 - 1 files changed, 9 insertions(+) 39 - 40 - diff --git i/config.sub w/config.sub 41 - index defe52c..b2078d9 100755 42 - --- i/config.sub 43 - +++ w/config.sub 44 - @@ -1772,6 +1772,13 @@ case $os in 45 - sco3.2v2 | sco3.2v[4-9]* | sco5v6*) 46 - # Don't forget version if it is 3.2v4 or newer. 47 - ;; 48 - + # This refers to builds using the UEFI calling convention 49 - + # (which depends on the architecture) and PE file format. 50 - + # Note that this is both a different calling convention and 51 - + # different file format than that of GNU-EFI 52 - + # (x86_64-w64-mingw32). 53 - + uefi) 54 - + ;; 55 - none) 56 - ;; 57 - kernel* | msvc* ) 58 - @@ -1859,6 +1866,8 @@ case $kernel-$os-$obj in 59 - # None (no kernel, i.e. freestanding / bare metal), 60 - # can be paired with an machine code file format 61 - ;; 62 - + -uefi) 63 - + ;; 64 - -*-) 65 - # Blank kernel with real OS is always fine. 66 - ;;