summaryrefslogtreecommitdiff
path: root/net-misc/openssh/files/openssh-8.9_p1-fzero-call-used-regs.patch
blob: 0231ce46d7b111e6972cbf06d712b10b80fffba5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
From f107467179428a0e3ea9e4aa9738ac12ff02822d Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@debian.org>
Date: Thu, 24 Feb 2022 16:04:18 +0000
Subject: [PATCH] Improve detection of -fzero-call-used-regs=all support

GCC doesn't tell us whether this option is supported unless it runs into
the situation where it would need to emit corresponding code.
---
 m4/openssh.m4 | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/m4/openssh.m4 b/m4/openssh.m4
index 4f9c3792dc1..8c33c701b8b 100644
--- a/m4/openssh.m4
+++ b/m4/openssh.m4
@@ -14,6 +14,8 @@ AC_DEFUN([OSSH_CHECK_CFLAG_COMPILE], [{
 	AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
 #include <stdlib.h>
 #include <stdio.h>
+/* Trivial function to help test for -fzero-call-used-regs */
+void f(int n) {}
 int main(int argc, char **argv) {
 	(void)argv;
 	/* Some math to catch -ftrapv problems in the toolchain */
@@ -21,6 +23,7 @@ int main(int argc, char **argv) {
 	float l = i * 2.1;
 	double m = l / 0.5;
 	long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+	f(0);
 	printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
 	/*
 	 * Test fallthrough behaviour.  clang 10's -Wimplicit-fallthrough does