cc-wrapper: don't set -fno-omit-frame-pointer on s390/x390x

Without the change both `s390` and `s390x` `glibc` builds fail as
https://hydra.nixos.org/build/303208799:

    In file included from ../sysdeps/s390/utf16-utf32-z9.c:501,
                     from ../sysdeps/s390/multiarch/utf16-utf32-z9.c:20:
    ../iconv/loop.c: In function '__from_utf16_loop_vx_cu':
    ../iconv/loop.c:274:1: error: %r11 cannot be used in 'asm' here
      274 | }
          | ^

Disable the `-fno-omit-frame-pointer` for now.
This commit is contained in:
Sergei Trofimovich
2025-07-25 21:13:32 +01:00
committed by Alyssa Ross
parent 2b78bc0e62
commit c331cfe544
+5 -1
View File
@@ -810,9 +810,13 @@ stdenvNoCC.mkDerivation {
# Do not prevent omission of framepointers on x86 32bit due to the small
# number of general purpose registers. Keeping EBP available provides
# non-trivial performance benefits.
# Also skip s390/s390x as it fails to build glibc and causes
# performance regressions:
# https://bugs.launchpad.net/ubuntu-z-systems/+bug/2064538
# https://github.com/NixOS/nixpkgs/issues/428260
+ (
let
enable_fp = !targetPlatform.isx86_32;
enable_fp = !targetPlatform.isx86_32 && !targetPlatform.isS390;
enable_leaf_fp =
enable_fp
&& (