]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
Stop using -fzero-call-used-regs=all
authorDarren Tucker <dtucker@dtucker.net>
Tue, 21 Nov 2023 03:04:34 +0000 (14:04 +1100)
committerDarren Tucker <dtucker@dtucker.net>
Tue, 21 Nov 2023 03:04:34 +0000 (14:04 +1100)
... since it seems to be problematic with several different versions of
clang.  Only use -fzero-call-used-regs=used which is less
problematic, except with Apple's clang where we don't use it at all.
bz#3629, ok djm@

configure.ac

index 92540d0343c68a8436cb3bb62a2a8836ae430095..36e1028e128a094de632195bb021aa60682fa8cb 100644 (file)
@@ -231,9 +231,12 @@ if test "$GCC" = "yes" || test "$GCC" = "egcs"; then
        # clang 15 seems to have a bug in -fzero-call-used-regs=all.  See
        # https://bugzilla.mindrot.org/show_bug.cgi?id=3475 and
        # https://github.com/llvm/llvm-project/issues/59242
+       # clang 17 has a different bug that causes an ICE when using this
+       # flag at all (https://bugzilla.mindrot.org/show_bug.cgi?id=3629)
        case "$CLANG_VER" in
-       15.*|apple*) OSSH_CHECK_CFLAG_COMPILE([-fzero-call-used-regs=used]) ;;
-       *)    OSSH_CHECK_CFLAG_COMPILE([-fzero-call-used-regs=all]) ;;
+       apple-15*) OSSH_CHECK_CFLAG_COMPILE([-fzero-call-used-regs=used]) ;;
+       17*)    ;;
+       *)      OSSH_CHECK_CFLAG_COMPILE([-fzero-call-used-regs=used]) ;;
        esac
        OSSH_CHECK_CFLAG_COMPILE([-ftrivial-auto-var-init=zero])
     fi