kumquat-buildroot/package/openssh/0001-better-detection-of-broken-fzero-call-used-regs.patch
Brandon Maier 325fe1aecf package/openssh: fix build error on powerpc
Fixes the following error message introducted by OpenSSH v9.6p1.

  sshkey.c: In function 'sshkey_set_filename':
  sshkey.c:3705:1: sorry, unimplemented: '-fzero-call-used-regs' not supported on this target
   3705 | }

Fixes:
http://autobuild.buildroot.org/results/ec7/ec780aed5b1c4fdf9b91f6e7be99e8d4c42efa58

Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-02-05 18:51:35 +01:00

58 lines
1.9 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From 1036d77b34a5fa15e56f516b81b9928006848cbd Mon Sep 17 00:00:00 2001
From: Damien Miller <djm@mindrot.org>
Date: Fri, 22 Dec 2023 17:56:26 +1100
Subject: [PATCH] better detection of broken -fzero-call-used-regs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
gcc 13.2.0 on ppc64le refuses to compile some function, including
cipher.c:compression_alg_list() with an error:
> sorry, unimplemented: argument used is not supportedcw
> for -fzero-call-used-regs on this target
This extends the autoconf will-it-work test with a similarly-
structured function that seems to catch this.
Spotted/tested by Colin Watson; bz3645
Upstream: https://github.com/openssh/openssh-portable/commit/1036d77b34a5fa15e56f516b81b9928006848cbd.patch
Signed-off-by: Brandon Maier <brandon.maier@collins.com>
---
m4/openssh.m4 | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/m4/openssh.m4 b/m4/openssh.m4
index 5d4c56280fc..033df501c3d 100644
--- a/m4/openssh.m4
+++ b/m4/openssh.m4
@@ -20,18 +20,24 @@ char *f2(char *s, ...) {
va_end(args);
return strdup(ret);
}
+const char *f3(int s) {
+ return s ? "good" : "gooder";
+}
int main(int argc, char **argv) {
- (void)argv;
char b[256], *cp;
+ const char *s;
/* Some math to catch -ftrapv problems in the toolchain */
int i = 123 * argc, j = 456 + argc, k = 789 - argc;
float l = i * 2.1;
double m = l / 0.5;
long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
+ (void)argv;
f(1);
- snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ s = f3(f(2));
+ snprintf(b, sizeof b, "%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
if (write(1, b, 0) == -1) exit(0);
- cp = f2("%d %d %d %f %f %lld %lld\n", i,j,k,l,m,n,o);
+ cp = f2("%d %d %d %f %f %lld %lld %s\n", i,j,k,l,m,n,o,s);
+ if (write(1, cp, 0) == -1) exit(0);
free(cp);
/*
* Test fallthrough behaviour. clang 10's -Wimplicit-fallthrough does